springBoot(九)整合之整合logging-logback

来源:互联网 发布:怎么找淘宝客服的工作 编辑:程序博客网 时间:2024/06/05 07:19

最近有用到了springboot下需要日志的需求,然后就顺带做个笔记,正常操作,直接上代码

借鉴:http://blog.csdn.net/tianyaleixiaowu/article/details/73321610

1、pom.xml

<dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency>

2、打开哥们的spring-boot-1.X.X.RELEASE.jar

开始是想用到log4j,发现网上那堆东西都跑不通。然后就走起了打开依赖包的狗血之路



       显然,你们是看到log4j2的,然而我尝试过一次就搜索不行,这东西就得自己玩另一个(既然有)

然后认真的老铁会发现,其实两个的构成是相似的

4、按时间自动滚动的日志文件:

<?xml version="1.0" encoding="UTF-8"?><configuration>    <include resource="org/springframework/boot/logging/logback/defaults.xml" />    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />    <!-- 按照时间滚动 -->     <appender name="TIME_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">        <encoder>            <pattern>${FILE_LOG_PATTERN}</pattern>        </encoder>        <file>${LOG_FILE}</file>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i</fileNamePattern>            <maxHistory>365</maxHistory>            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">                <maxFileSize>100MB</maxFileSize>            </timeBasedFileNamingAndTriggeringPolicy>        </rollingPolicy>     </appender>     <root level="INFO">        <appender-ref ref="CONSOLE" />         <appender-ref ref="TIME_FILE" />     </root></configuration>

4.1参数意味

%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,%r: 输出自应用启动到输出该log信息耗费的毫秒数%c: 输出日志信息所属的类目,通常就是所在类的全名%t: 输出产生该日志事件的线程名%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.Java:10)%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像Java servlets这样的多客户多线程的应用中。%%: 输出一个"%"字符%F: 输出日志消息产生时所在的文件名称%L: 输出代码中的行号%m: 输出代码中指定的消息,产生的日志具体信息 %n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式


5、测试

 private static final Logger logger = LoggerFactory.getLogger(AdminServiceImpl.class);  
//AdminServiceImpl是一个类名
方法内填入:其中{}是为了填入后面的参数,会自动填入的,有多少个{}自定义,就应该加入多少个参数在后面。
logger.info("method : {} ",MethodList.AdminModfiy,"updateSysUser--username:"+sysUser.getUsername());
测试方法:
结果:
2017-12-04 12:27:19.709  INFO 9392 --- [nio-8088-exec-5] com.**.service.impl.AdminServiceImpl  : method : 1 


已经用在生产环境,如果有什么疑问或问题,欢迎指出一起讨论

原创粉丝点击