logback日志系统---logback.xml文件手动配置

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

<!-- logback日志系统基础配置 -->

<!-- 1.此处debug="true"与logger level无关,只与配置的状态信息有关(如配置文件是否规范,某些标签元素属性是否赋值) -->
<!-- 3.此处scan="true"设置后,可以扫描本日志配置文件变动并重加载配置,可设置扫描间隔时间,默认为1分钟扫描一次,单位milliseconds, seconds, minutes 或 hours,如scanPeriod="30 seconds" -->
<!-- 4.此处packagingData="true"可以在日志后看到依赖jar包名和版本,很费性能,不建议开启 -->
<configuration debug="true" scan="true" scanPeriod="30 seconds" packagingData="false">

	<!-- 2.安装OnConsoleStatusListener与1中debug="true"等价,意为强制输出配置状态信息,可选其一 。 -->
	<!-- <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> -->

  	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
	    <encoder>
	      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
	    </encoder>
  	</appender>

  	<root level="debug">
   		<appender-ref ref="STDOUT" />
  	</root>
</configuration>


<!--注册以下servlet可以通过访问http://host/yourWebapp/lbClassicStatus查看logback的状态管理信息-->

<servlet>
    <servlet-name>ViewStatusMessages</servlet-name>
    <servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
  </servlet>


  <servlet-mapping>
    <servlet-name>ViewStatusMessages</servlet-name>
    <url-pattern>/lbClassicStatus</url-pattern>
  </servlet-mapping>
</servlet>

<!--以下是完善后的详细配置-->

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

<!-- logback日志系统基础配置 -->

<!-- 1.此处debug="true"与logger level无关,只与配置的状态信息有关(如配置文件是否规范,某些标签元素属性是否赋值) -->
<!-- 3.此处scan="true"设置后,可以扫描本日志配置文件变动并重加载配置,可设置扫描间隔时间,默认为1分钟扫描一次,单位milliseconds, seconds, minutes 或 hours,如scanPeriod="30 seconds" -->
<!-- 4.此处packagingData="true"可以在日志后看到依赖jar包名和版本,很费性能,不建议开启 -->

<configuration debug="true" scan="true" scanPeriod="30 seconds" packagingData="false">

	<!-- 2.安装OnConsoleStatusListener与1中debug="true"等价,意为强制输出配置状态信息,可选其一 。 -->
	<!-- <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> -->

	<!-- 5.可以添加属性,使用时如:${USER_HOME},或者启动命令行设置属性:java -DUSER_HOME="/home/sebastien" MyApp -->
	<!-- <property name="USER_HOME" value="/home/sebastien" /> -->
	
	<!-- 6.如需用到多个属性,可指定属性配置文件路径,配置文件被读取后会在本地域定义属性,就可以使用了 -->
	<!-- <property file="src/main/java/chapters/configuration/variables1.properties" /> -->
	
	<!-- 7.也可以指定类路径下的属性配置文件 -->
	<!-- <property resource="resource1.properties" /> -->
	
	<!-- 8.指定属性域类型:local-本地域,context-上下文域,system-JVM系统域,默认为local,指定为context可在所有日志事件中使用该属性,甚至通过序列化后发送到远程主机的事件。 -->
	<!-- <property scope="context" name="nodeId" value="firstNode" /> -->

	<!-- 9.HOSTNAME主机名称属性在上下文域配置中自动定义,CONTEXT_NAME上下文名称属性和当前日志上下文名称关联 -->
	
	<!-- 10.时间戳 -->
	<!-- <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/> -->
	
	<!-- 11.从JNDI中获取env-entries作为属性值使用,如下设置即可使用${CONTEXTNAME}了 -->
	<!-- <insertFromJNDI env-entry-name="java:comp/env/appName" as="appName" /> -->
  	<!-- <contextName>${appName}</contextName> -->
	
	<timestamp key="byMonth" datePattern="yyyyMM"/>
	<timestamp key="byDay" datePattern="yyyyMMdd"/>

	<appender name="FILE" class="ch.qos.logback.core.FileAppender">
		<!-- 根据时间戳属性将文件按月按日分开管理 -->
	    <file>${user.dir}/server/log/${byMonth}/myApp-${byDay}.log</file>
	    <encoder>
      		<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
	    </encoder>
  	</appender>

  	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
	    <encoder>
      		<pattern>%msg%n</pattern>
	    </encoder>
  	</appender>
  	
  	<!-- 输出com.fy包及其子包下的日志到文件,如果加了additivity="false",只会输出到文件,不会输出到其它父级appender -->
  	<logger name="com.fy" level="DEBUG" additivity="false">
  		<appender-ref ref="FILE"/>
  	</logger>
  	
  	<!-- 输出所有日志到控制台 -->
  	<root level="DEBUG">
   		<appender-ref ref="STDOUT" />
  	</root>
</configuration>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值