1. Add dependencies to pom.xml (logback-core-1.1.2.jar)
1 <dependency> 2 <groupId>ch.qos.logback</groupId> 3 <artifactId>logback-classic</artifactId> 4 <version>1.0.6</version> 5 </dependency>
Baidu network disk: https://pan.baidu.com/s/19VGCaI9fTm5k0PR5kUWa5Q
Password: eld7
2. Configuration file
illustrate:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <configuration 3 xmlns="http://ch.qos.logback/xml/ns/logback" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd"> 6 <property name="LOG_HOME" value="tp/log"/> 7 <!-- 输出到控制台 --> 8 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" > 9 <!-- output format --> class <encoder10="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 11 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}: %msg%n</pattern> 12 </encoder> 13 </appender> 14 15 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 16 <!-- 配置滚动的策略 --> 17 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 18 <!-- 日志名称的格式 --> 19 <fileNamePattern>${LOG_HOME}/logback.log.%d{yyyy-MM-dd}</fileNamePattern> 20 <!-- Maximum time to save: days--> 21 <MaxHistory>1</MaxHistory> 22 </rollingPolicy> 23 <encoder class ="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 24 <pattern >%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}: %msg%n</pattern> 25 </encoder> 26 </appender> 27 28 <!-- 29 Note: The 30 level attribute can also be written directly on the logger, such as: 31 <logger name="ws.log.logback.LogbackTest" additivity="false" level="INFO"> 32 <appender-ref ref="STDOUT" /> 33 </logger> 34 --> 35 <logger name="ws.log.logback.LogbackTest" additivity="false"> 36 <level value="INFO" /> 37 <appender-ref ref="STDOUT" /> 38 </logger> 39 40 <!-- 相当于logger元素,只是name值已经确定为root了 --> 41 <root level="warn"> 42 <appender-ref ref="STDOUT" /> 43 </root> 44 </configuration>
Actual configuration:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <configuration scan="true" scanPeriod="30 seconds"> 3 <!-- <property name="position.log.dir" value="../logs" /> --> 4 <property name="position.log.dir" value="D:/logs/0817" /> 5 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 6 <encoder> 7 <pattern>[%d{yyyy-MM-dd HH:mm:ss}][%-5level][%logger:%L] %m%n 8 </pattern> 9 </encoder> 12 <!-- Weather Project Log --> 11 </appender> <!----> 10 <appender name="position_appender" 13 class="ch.qos.logback.core.rolling.RollingFileAppender"> 14 <File>${position.log.dir}/position.log</File> 15 <encoder> 16 <pattern>[%d{yyyy-MM-dd HH:mm:ss}][%-5level][%logger:%L][%X{cguid}] 17 %m%n</pattern> 18 </encoder> 19 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 20 <fileNamePattern>${position.log.dir}/position.log.%d{yyyy-MM-dd} 21 </fileNamePattern> 22 </rollingPolicy> 23 </appender> 24 <!-- 性能监控 --> 25 <appender name="Performance_Monitoring" 26 class="ch.qos.logback.core.rolling.RollingFileAppender"> 27 <File>${position.log.dir}/monitoring.log</File> 28 <encoder> 29 <pattern>%m%n</pattern> 30 </encoder> 31 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 32 <fileNamePattern>${position.log.dir}/monitoring.log.%d{yyyy-MM-dd} 33 </fileNamePattern> 34 </rollingPolicy> 35 </appender> 36 37 <logger name="richinfo.frame" level="DEBUG" additivity="false"> 38 <appender-ref ref="CONSOLE" /> 39 </logger> 40 <logger name="com.richinfo" level="DEBUG" additivity="false"> 41 <appender-ref ref="CONSOLE" /> 42 </logger> 43 <logger name="Performance_monitoring" level="DEBUG" additivity="false"> 44 <appender-ref ref="Performance_Monitoring" /> 45 </logger> 46 47 48 <!-- <root level="debug"> 49 <appender-ref ref="CONSOLE" /> 50 </root> --> 51 </configuration>
3. Code implementation
1 public class LogbackTest { 2 3 private static final Logger LOGGER = LoggerFactory.getLogger(LogbackTest.class ) ; 4 5 public static void main(String[] args) { 6 LOGGER.trace("logback--trace log--output " ); 7 LOGGER.debug("logback--debug log--output" ); 8 LOGGER.info("logback--info log--output" ); 9 LOGGER.warn("logback's --warn log -- output " ); 10 LOGGER.error("logback --error log -- output " ); 11 } 12 13 }