您的位置:首页 > 运维架构 > Linux

spring boot logback.xml 文件 配置出力到linux 下的系统log

2017-02-21 18:10 706 查看
系からPlay frameworkのロギングがlog4jではなくlogbackになっています。

http://logback.qos.ch/

AppenderとLoggerの設定をおこなうという設定方法の概念はlog4jとあまりかわらないのでlog4jを触ったことがあればすんなり受け入れられると思います。

Appenderは下記URLで標準のものをチェックできます。

よく使うのはFileやSyslogでしょうか。

http://logback.qos.ch/manual/appenders.html

playで設定するにはconf/logger.xmlを作成します。

LOCAL3で出力する場合は下記のように書きます。

conf/logger.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost</syslogHost>
<port>514</port>
<facility>LOCAL3</facility>
<suffixPattern>%date - [%level] - [%thread] %logger %msg</suffixPattern>
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="INFO" />
<root level="INFO">
<appender-ref ref="SYSLOG" />
</root>
</configuration>


違う名前にしたい場合は起動オプション-Dlogger.xxxxを指定します。

xxxxの部分にはresource, file, urlを利用できます。

command

./target/universal/stage/bin/[yourapp] -Dlogger.resource=logger-prod.xml


SyslogAppenderはTCPでログを転送します。syslogサーバで受け取る側がplay起動時にTCPで待ち受けていて接続可能である必要があります。

rsyslogの場合は/etc/rsyslog.confに下記の設定を追加してあらかじめrsyslogを再起動しておく必要があります。

/etc/rsyslog.conf追記TCP+UDP待ち受けとlocal3出力

$ModLoad imudp
$UDPServerRun 514
$InputTCPServerRun 514

local3.*     /var/log/myapp.log


これでログローテーションを設定、Fluentdでソースを上記ファイルにして運用すると楽です。

Fluentd用のAppenderなどあればその方が効率がいいのかもしれませんがrsyslogの実績を考えると当面この方が安心です。

如果这个方法不行,可以看我的另一篇blog:java
出力log到linux下面的系统log
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: