~juju-jitsu/charms/precise/charmworld/trunk

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
62
63
64
65
66
67
68
69
70
71
72
[app:main]
pyramid.debug_templates = false
pyramid.includes = pyramid_exclog
pyramid.reload_templates = false
mongo.host =
mongo.port =
mongo.url =
lp_credentials_file = /home/webops_deploy/charmworld/charmbot_credentials.txt
proof.port = 6543
charm_test_url =
charm_test_token =
charm_test_job =

[server:main]
port = 6543
# Implicitly setup a handler for the root logger to report exceptions.
errorlog = /home/charmworld/var/app-exception.log
loglevel = ERROR

[loggers]
# Root is doing the exception logging, gunicon_error manages the exception
# log file, and exc_logger ensures exceptions are caught and logged.
keys = root, gunicon_error, exc_logger

[handlers]
keys = app_log, error_file, exc_smtp

[formatters]
keys = generic, exception

[logger_root]
level = WARN
handlers = app_log

[handler_app_log]
class = FileHandler
args = ('/home/charmworld/var/app.log', 'a')
level = WARN
formatter = generic

[logger_exc_logger]
level = ERROR
handlers = exc_smtp
qualname = exc_logger
propagate = 0

[handler_exc_smtp]
class = NullHandler
args = ()
level = NOTSET
formatter = exception

[logger_gunicon_error]
# Configure server:main.errorlog to play with the other loggers.
level = ERROR
handlers = error_file
qualname = gunicorn.error
propagate = 0

[handler_error_file]
# We want to suppress gunicorn logging because it writes three copies. We must
# also have a log file handler for /home/charmworld/var/app-exception.log or
# else exceptions don't get logged.  So we define this handler while ensuring
# it doesn't log anything.
class = FileHandler
args = ('/home/charmworld/var/app-exception.log', 'a')
level = CRITICAL
formatter = exception

[formatter_exception]
format = %(asctime)s [%(process)d] [%(levelname)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S