logback.xml
<configuration debug="false" scan="true" scanPeriod="60 seconds">
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--启用 zip 压缩-->
<fileNamePattern>/sdcard/new_retail/logs/logFile.%d{yyyy-MM-dd}.log.zip
</fileNamePattern>
<!--最大保存30天的日志-->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{yyyy-MM-dd HH:mm:ss} %-5level [%thread] - %msg%n
</pattern>
</encoder>
</appender>
<appender name="LOGCAT" class="ch.qos.logback.classic.android.LogcatAppender">
<encoder>
<pattern>%msg [%thread]</pattern>
</encoder>
<tagEncoder>
<pattern>%logger{1}</pattern>
</tagEncoder>
</appender>
<root level="ALL">
<appender-ref ref="LOGCAT" />
<appender-ref ref="FILE" />
</root>
<include file="/sdcard/new_retail/syslog.xml" />
</configuration>
syslog.xml
<configuration debug="false" scan="true" scanPeriod="60 seconds">
<appender name="SOCKET" class="ch.qos.logback.classic.net.SyslogAppender">
<!-- lazy initialization: don't open socket until 1st write -->
<syslogHost>192.168.99.102</syslogHost>
<facility>AUTH</facility>
<suffixPattern>[%thread] %logger %msg</suffixPattern>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="SOCKET" />
</appender>
<root level="ALL">
<appender-ref ref="LOGCAT" />
<appender-ref ref="FILE" />
<appender-ref ref="SOCKET" />
</root>
</configuration>