welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ群:162333776 邮箱:admin@xlongwei.com

logback 分布式日志汇总


分类 Java   关键字 分享   标签 java   web   linux   tomcat   发布 hongwei  1493881535993
注意 转载须保留原文链接,译文链接,作者译者等信息。  
logback支持通过网络记录日志,因此可以使用多个client节点发送日志到同一个server节点的方式来汇总日志,客户端配置SocketAppender,服务端配置RollingFileAppender并运行SimpleSocketServer即可。

客户端配置logback.xml,backup在/etc/hosts中配置,也可以直接写内网ip。然后多个节点的logger.info(msg)都会发送日志到backup:6000。
<appender name="SOCKET" class="ch.qos.logback.classic.net.SocketAppender">
<RemoteHost>backup</RemoteHost>
<Port>6000</Port>
<ReconnectionDelay>10000</ReconnectionDelay>
<IncludeCallerData>false</IncludeCallerData>
</appender>
<root level="info">
<appender-ref ref="SOCKET"/>
</root>

服务端配置server.xml,接收多个节点的日志推送并写入本地文件;maxHistory支持自动清除太久远的日志,%.-300msg可以截断消息避免日志过快增长。
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/soft/share/logs/all.logs</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/soft/share/logs/all.logs.%d{yyyy-MM-dd}</fileNamePattern>
<maxHistory>10</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1024MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%date{HH:mm:ss.SSS} %-5level [%thread] %logger{0}:%L %.-300msg%n</pattern>
</encoder>
</appender>
<root>
<appender-ref ref="ROLLING" />
</root>
logback-server目录结构


start.sh,logback目录有示例配置和脚本
java -cp logback-classic-1.0.13.jar:logback-core-1.0.13.jar:slf4j-api-1.7.5.jar ch.qos.logback.classic.net.SimpleSocketServer 6000 server.xml &



评论列表
  • #0 hongwei 1495508085050

    很奇怪的经常断开连接,而且没有再次重连:SocketNode:93 Caught java.io.EOFException closing connection.