File size: 1,207 Bytes
8efce19
999fa5d
ea4da82
b3adc22
8e18d18
0a9e54c
a9f1f12
466eeae
b3adc22
9675b3c
b3adc22
 
 
27e12ac
b3adc22
27e12ac
b3adc22
 
999fa5d
 
115c7b7
 
 
 
 
999fa5d
 
115c7b7
999fa5d
 
115c7b7
 
999fa5d
115c7b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import subprocess
import logging
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
app = FastAPI()

subprocess.Popen(["python3", "TimeStampBuddy/cron_processor.py"])

@app.get("/", response_class=HTMLResponse)
def welcome():
    return """
    <div>
        <h1>Hello!</h1>
        <p>This service powers the <a href="https://x.com/TimeStampBuddy" target="_blank" rel="noopener noreferrer">@TimeStampBuddy</a>'s activity on Twitter.</p>
        <p>For more details, visit 
            <a href="https://github.com/Mihaiii/TimeStampBuddy" target="_blank" rel="noopener noreferrer">GitHub Repository</a>.
        </p>
    </div>
    """

class LogLevelRequest(BaseModel):
    level: str

@app.post("/set_log_level")
async def set_log_level(request: LogLevelRequest):
    try:
        logger = logging.getLogger()
        level = request.level.upper()
        if level in ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']:
            logger.setLevel(level)
            return {"message": f"Log level changed to {level}"}
        raise HTTPException(status_code=400, detail="Invalid log level")
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))