Skip to content

Commit 71a697a

Browse files
authored
Changed default logging configuration. (#65)
* Changed default logging configuration. * Changed default config to JSON and added --log-level flag.
1 parent 019544e commit 71a697a

File tree

1 file changed

+39
-31
lines changed

1 file changed

+39
-31
lines changed

filetracker/servers/run.py

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -42,40 +42,41 @@
4242
# Clients may use this as a sensible default port to connect to.
4343
DEFAULT_PORT = 9999
4444

45-
_DEFAULT_LOG_CONFIG = {
46-
'version': 1,
47-
'handlers': {
48-
'default': {
49-
'class': 'logging.StreamHandler',
50-
'formatter': 'precise',
51-
'level': 'INFO',
52-
'stream': 'ext://sys.stdout'
45+
_DEFAULT_LOG_CONFIG_JSON = """
46+
{
47+
"version": 1,
48+
"handlers": {
49+
"default": {
50+
"class": "logging.StreamHandler",
51+
"formatter": "precise",
52+
"level": "INFO",
53+
"stream": "ext://sys.stdout"
5354
}
5455
},
55-
'formatters': {
56-
'precise': {
57-
'format': '%(asctime)s %(levelname)-8s %(name)-15s %(message)s',
58-
'datefmt': '%Y-%m-%d %H:%M:%S'
56+
"formatters": {
57+
"precise": {
58+
"format": "%(asctime)s %(levelname)-8s (%(process)-5d) %(name)-15s %(message)s",
59+
"datefmt": "%Y-%m-%d %H:%M:%S"
5960
}
6061
},
61-
'loggers': {
62-
'gunicorn.error': {
63-
'handlers': ['default'],
64-
'level': 'INFO',
65-
'propagate': False
62+
"loggers": {
63+
"gunicorn.error": {
64+
"handlers": ["default"],
65+
"level": "INFO",
66+
"propagate": false
6667
},
67-
'gunicorn.access': {
68-
'handlers': ['default'],
69-
'level': 'INFO',
70-
'propagate': False
68+
"gunicorn.access": {
69+
"handlers": ["default"],
70+
"level": "INFO",
71+
"propagate": false
7172
},
72-
'': {
73-
'handlers': ['default'],
74-
'level': 'INFO'
73+
"": {
74+
"handlers": ["default"],
75+
"level": "INFO"
7576
}
7677
}
7778
}
78-
79+
"""
7980

8081
def strip_margin(text):
8182
return re.sub('\n[ \t]*\|', '\n', text)
@@ -93,9 +94,12 @@ def main(args=None):
9394
help="Specify Filetracker dir (taken from FILETRACKER_DIR "
9495
"environment variable if not present)")
9596
parser.add_option('-L', '--log', dest='log', default=None,
96-
help="Log file location (stderr by default)")
97+
help="Log file location (default: stdout)")
98+
parser.add_option('--log-level', dest='log_level', default='INFO',
99+
help="Log level (default: INFO)")
97100
parser.add_option('--log-config', dest='log_config', default=None,
98-
help="Logging configuration (in JSON). Takes precedence over -L")
101+
help="Logging configuration (in JSON). "
102+
"Takes precedence over other logging flags")
99103
parser.add_option('-D', '--no-daemon', dest='daemonize',
100104
action='store_false', default=True,
101105
help="Do not daemonize, stay in foreground")
@@ -117,15 +121,19 @@ def main(args=None):
117121
with open(options.log_config) as f:
118122
log_config = json.load(f)
119123
else:
120-
log_config = _DEFAULT_LOG_CONFIG
124+
log_config = json.loads(_DEFAULT_LOG_CONFIG_JSON)
121125
if options.log:
122126
log_config['handlers']['default'] = {
123-
'class': 'logging.handlers.RotatingFileHandler',
127+
'class': 'logging.FileHandler',
124128
'formatter': 'precise',
125129
'filename': options.log,
126-
'maxBytes': 1024 * 1024,
127-
'backupCount': 3
130+
'level': 'INFO',
128131
}
132+
if options.log_level:
133+
log_config['handlers']['default']['level'] = options.log_level
134+
log_config['loggers']['gunicorn.error']['level'] = options.log_level
135+
log_config['loggers']['gunicorn.access']['level'] = options.log_level
136+
log_config['loggers']['']['level'] = options.log_level
129137

130138
logging.config.dictConfig(log_config)
131139

0 commit comments

Comments
 (0)