2016-08-29 20 views
0

私のログ設定ファイルGunicorn logstashログハンドラ

[loggers] 
keys=root, logstash 

[handlers] 
keys=console , logstash 

[formatters] 
keys=generic, access 

[logger_root] 
level=INFO 
handlers=console 

[logger_logstash] 
level=DEBUG 
handlers=logstash 
propagate=1 
qualname=logstash 


[handler_console] 
class=StreamHandler 
formatter=generic 
args=(sys.stdout,) 

[handler_logstash] 
class=logstash.TCPLogstashHandler 
formatter=generic 
args=('localhost',5959) 


[formatter_generic] 
format=%(asctime)s [%(process)d] [%(levelname)s] %(message)s 
datefmt=%Y-%m-%d %H:%M:%S 
class=logging.Formatter 

[formatter_access] 
format=%(message)s 
class=logging.Formatter 

私のコマンドは、私はすべてのエラーを取得していないのですが、logstashアクセスログを受信して​​いません

gunicorn --env DJANGO_SETTINGS_MODULE=myproject.settings myproject.wsgi --log-level debug --log-file=- --log-config gunicorn_log.conf 

実行します。 このハンドラは、ジャンゴとセロリで働いたが、私はpython-logstash documentationに基づいてgunicorn

答えて

0
[loggers] 
keys=root, logstash.error, logstash.access 

[handlers] 
keys=console , logstash 

[formatters] 
keys=generic, access, json 

[logger_root] 
level=INFO 
handlers=console 

[logger_logstash.error] 
level=DEBUG 
handlers=logstash 
propagate=1 
qualname=gunicorn.error 

[logger_logstash.access] 
level=DEBUG 
handlers=logstash 
propagate=0 
qualname=gunicorn.access 


[handler_console] 
class=StreamHandler 
formatter=generic 
args=(sys.stdout,) 

[handler_logstash] 
class=logstash.TCPLogstashHandler 
formatter=json 
args=('localhost',5959) 


[formatter_generic] 
format=%(asctime)s [%(process)d] [%(levelname)s] %(message)s 
datefmt=%Y-%m-%d %H:%M:%S 
class=logging.Formatter 

[formatter_access] 
format=%(message)s 
class=logging.Formatter 

[formatter_json] 
class=jsonlogging.JSONFormatter 

上記の設定ファイルは、ローカルホストで実行されているlogstashにログを送信するために私のため を働きました:5959

0

と無力午前:

[handler_logstash] 
class=logstash.TCPLogstashHandler 
formatter=generic 
host=localhost 
port=5959 
version=1 
+0

まだ同じ問題。 gunicornの起動時にエラーはありませんが、logstashで受信されなかったログは –

+0

'handler_console'セクションで' class = stream.andHandler'を 'class = logging.StreamHandler'に置き換えます –

+1

' 'Gunicorn'は' 'logger_gunicorn.access ' –