-
Notifications
You must be signed in to change notification settings - Fork 0
/
sample-pylog.py
55 lines (50 loc) · 1.62 KB
/
sample-pylog.py
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
import os
import logging
import pylogger2azblob
from logging.config import dictConfig
from dotenv import load_dotenv
# Load environment variables from .env
load_dotenv()
LOGGING_ACCOUNT_NAME = os.getenv('LOGGING_ACCOUNT_NAME', '<your-storage-account>')
LOGGING_CONTAINER = os.getenv('LOGGING_CONTAINER', '<your-container-name>')
LOGGING_LEVEL = os.getenv('LOGGING_LEVEL', 'DEBUG')
LOGGING_FORMATTER = os.getenv('LOGGING_FORMATTER', 'verbose')
LOGGING_FILENAME = os.getenv('LOGGING_FILENAME', '<file-name-you-wanna-output>')
LOGGING_WHEN = os.getenv('LOGGING_WHEN', 'S')
LOGGING_INTERVAL = int(os.getenv('LOGGING_INTERVAL', 60))
LOGGING = {
'version': 1,
'formatters': {
'simple': {
'format': '%(asctime)s %(message)s',
},
'verbose': {
'format': '%(levelname)s %(hostname)s %(currenttime)s %(message)s',
}
},
'handlers': {
'blob': {
'class': 'pylogger2azblob.handlers.BlobStorageTimedRotatingFileHandler',
'account_name': LOGGING_ACCOUNT_NAME,
'container': LOGGING_CONTAINER,
'level': LOGGING_LEVEL,
'formatter': LOGGING_FORMATTER,
'filename': LOGGING_FILENAME,
'when': LOGGING_WHEN,
'interval': LOGGING_INTERVAL
}
},
'loggers': {
'example': {
'handlers': ['blob'],
'level': LOGGING_LEVEL,
},
}
}
dictConfig(LOGGING)
logger = logging.getLogger('example')
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')