-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathlogging_config.py
More file actions
61 lines (55 loc) · 2 KB
/
logging_config.py
File metadata and controls
61 lines (55 loc) · 2 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import logging
import logging.config
import os
import sys
class LowercaseFormatter(logging.Formatter):
def format(self, record):
record.levelname = record.levelname.lower()
return super().format(record)
def setup_logging():
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.DEBUG)
console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(console_formatter)
logger.addHandler(console_handler)
ENVIRONMENT = os.getenv('ENVIRONMENT', 'local')
LOGZIO_TOKEN = os.getenv('LOGZIO_TOKEN')
if LOGZIO_TOKEN:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'logzioFormat': {
'()': LowercaseFormatter,
'format': (
'{{"level": "%(levelname)s", "environment": "{environment}", "component": "openops mcp"}}'
).format(environment=ENVIRONMENT),
'validate': False
}
},
'handlers': {
'logzio': {
'class': 'logzio.handler.LogzioHandler',
'level': 'INFO',
'formatter': 'logzioFormat',
'token': LOGZIO_TOKEN,
'logzio_type': 'openops-mcp',
'logs_drain_timeout': 5,
'url': 'https://listener.logz.io:8071',
'retries_no': 4,
'retry_timeout': 2,
}
},
'loggers': {
'': {
'level': 'DEBUG',
'handlers': ['logzio'],
'propagate': True
}
}
}
logging.config.dictConfig(LOGGING)
logger.info("Logz.io logging configured successfully")
return logger