[app:XonStat] use = egg:XonStat reload_templates = false debug_authorization = false debug_notfound = false debug_routematch = false debug_templates = false default_locale_name = en sqlalchemy.url = postgresql+psycopg2://xonstat:PASSWORD@localhost:5432/xonstatdb mako.directories = xonstat:templates # Beaker cache settings # Default is to use one region with hourly cache invalidation cache.regions = hourly_term cache.type = memory cache.hourly_term.expire = 3600 # XonStat-specific settings xonstat.minimum_required_players = 2 xonstat.leaderboard_lifetime = 7 xonstat.verify_requests = true [filter:weberror] use = egg:WebError#error_catcher debug = false [pipeline:main] pipeline = XonStat [server:main] # Gunicorn settings. See http://docs.gunicorn.org/en/19.3/configure.html. use = egg:gunicorn#main user = xonstat group = xonstat proc_name = xonstat daemon = True bind = 0.0.0.0:6543 workers = 4 max_requests = 5000 timeout = 30 graceful_timeout = 30 pidfile = /tmp/xonstat.pid loglevel = INFO accesslog = ~/xonstat/xonstat_access.log errorlog = ~/xonstat/xonstat.log # Begin logging configuration [loggers] keys = root, xonstat, sqlalchemy [handlers] keys = console [formatters] keys = generic [logger_root] level = WARN handlers = console, error_file [logger_xonstat] level = WARN handlers = qualname = xonstat [logger_sqlalchemy] # INFO logs SQL queries, DEBUG logs queries and results, and WARN logs neither level = WARN handlers = qualname = sqlalchemy.engine [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [handler_error_file] class = logging.handlers.RotatingFileHandler formatter = generic args = ('~/xonstat/xonstat.log', 'a', 50000000, 5) [formatter_generic] format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s # End logging configuration