logback日志

参考:https://logback.qos.ch/manual/introduction.html;https://blog.csdn.net/conquer0715/article/details/9365899

maven项目,直接搜logback-core,logback-classic,slf4j-api;在classpath路径下配置logback.xml文件。

private static final Logger log = LoggerFactory.getLogger(class);

<?xml version="1.0" encoding="UTF-8"?>

<!-- debug:true打印logback内部日志信息,默认为false。
scan:true配置文件如果改变,重新加载,默认为true
scanPeriod:设置检测配置文件是否修改的时间间隔,默认单位毫秒,当scan为true时生效,默认时间间隔1分钟 -->
<configuration debug="false" scan="true">
<!-- 用来定义变量值的标签,<property> 有两个属性,name和value;其中name的值是变量的名称,value的值时变量定义的值。通过<property>定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
<!-- 定义日志文件的存储地址 勿在LogBack的配置中使用相对路径 -->
<property name="LOG_HOME" value="E:/workspace/log/"/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志输出编码 -->
<encoder>
<!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg日志消息%n换行 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/myApp.log</file><!-- 活动日志,当翻转条件到达,文件归档按fileNamePattern中路径文件命名 -->
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->   
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>    
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
      <!--日志文件输出的文件名;;设置了每天翻转,可以设置每月,估计是时间年月那设置-->  
      <fileNamePattern>${LOG_HOME}/myApp_%d{yyyy-MM-dd}.log</fileNamePattern>    
      <maxHistory>30</maxHistory>  
    </rollingPolicy>    
    <!--日志文件最大的大小-->  
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">  
    <!-- 查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender 触发当前活动文件滚动 -->
     <MaxFileSize>10MB</MaxFileSize>  
    </triggeringPolicy>
</appender>
<!-- show parameters for some frame ex:ibatis,spring... -->
<logger name="com.ibatis" level="DEBUG"/>
<logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" />    
<logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" />    
<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" />    
<logger name="java.sql.Connection" level="DEBUG" />    
<logger name="java.sql.Statement" level="DEBUG" />    
<logger name="java.sql.PreparedStatement" level="DEBUG" />


<logger name="com.Hello" level="info"/>

<!-- 日志输出级别 -->  
<root level="info">    
  <appender-ref ref="STDOUT" />    
  <appender-ref ref="FILE" />    
</root>   
<!--日志异步到数据库 -->   
<!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">     
    日志异步到数据库   
    <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">  
      连接池   
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">  
<driverClass>com.mysql.jdbc.Driver</driverClass>  
<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>  
<user>root</user>  
<password>root</password>  
</dataSource>  
    </connectionSource>  
  </appender>  -->
</configuration>

猜你喜欢

转载自blog.csdn.net/a1124544556/article/details/80596050