- 浏览: 1237832 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (193)
- ant/maven (6)
- algorithm (5)
- tomcat/weblogic/jboss (6)
- javascript/jquery (13)
- java (33)
- flex/flash (0)
- JPA/Hibernate/myBatis (18)
- java concurrent (7)
- test (2)
- windows/linux (6)
- java collection (7)
- design pattern (2)
- life/health (3)
- database (12)
- IDE (4)
- spring/ejb (20)
- html/css/ckeditor (7)
- jsp/servlet (3)
- java io (13)
- java security (4)
- jni (0)
- svn/git (2)
- english (2)
- java jmx (1)
- xml (1)
- struts/springmvc (9)
- middleware (2)
- cache (1)
- cglib (3)
最新评论
-
jlotusYo:
博主,真感谢。
Java 密码扩展无限制权限策略文件 -
senninha:
这个。。是api说明吧。。
ScheduledExecutorService 源码分析 -
zoutao2008:
请问大文件如何处理?按你这种方式的话,文件超过200M时就会报 ...
hessian系列之二:上传文件 -
lwj1113:
lwj1113 写道谢谢博主这么细致的demo;在系列五中通过 ...
myBatis系列之五:与Spring3集成 -
lwj1113:
谢谢博主这么细致的demo;在系列五中通过testng测试类跑 ...
myBatis系列之五:与Spring3集成
logback系列之一:输出日志到控制台
logback系列之二:输出日志到文件
logback系列之三:输出日志到文件(滚动)
logback系列之四:输出日志到不同文件
为了方便查看和归档:
不同包的日志可能要放到不同的文件中,如service层和dao层的日志;
不同日志级别:调试、信息、警告和错误等也要分文件输出。
一、根据包输出,通过logger的name属性指定不同的包
1. 创建不同包下的两个类:
2. 在logback(-test).xml中添加:
在类路径下创建Spring的beans.xml文件:(beans节点省略)
3. 测试方法:
执行测试后,
bribery.log:
15:59:59.839 [main] DEBUG c.j.s.ObligationService - obligate start...
15:59:59.844 [main] ERROR c.j.s.ObligationService - An error occurred during the progress
15:59:59.844 [main] DEBUG c.j.s.ObligationService - obligate end...
venality.log:
15:59:59.844 [main] DEBUG c.j.d.ObligationDao - query obligations start...
15:59:59.844 [main] ERROR c.j.d.ObligationDao - An error occurred during the query
15:59:59.844 [main] DEBUG c.j.d.ObligationDao - query obligations end...
二、根据日志级别输出
这里把所有级别为ERROR的日志输出到一个文件中
1. 修改logback(-test).xml文件
serviceAppender和daoAppender都加入以下级别过滤器,这样错误日志就不会在bribery.log和venality.log中打印了:
新建一个错误日志的appender:
name为com.john.dao和com.john.service的logger都加上errorAppender:
2. 执行上面的测试方法,service和dao的错误日志都打印到error.log文件中了:
16:12:51,433 main com.john.dao.ObligationDao An error occurred during the query
16:12:51,433 main com.john.service.ObligationService An error occurred during the progress
logback系列之二:输出日志到文件
logback系列之三:输出日志到文件(滚动)
logback系列之四:输出日志到不同文件
为了方便查看和归档:
不同包的日志可能要放到不同的文件中,如service层和dao层的日志;
不同日志级别:调试、信息、警告和错误等也要分文件输出。
一、根据包输出,通过logger的name属性指定不同的包
1. 创建不同包下的两个类:
package com.john.service; @Service public class ObligationService { static final Logger log = LoggerFactory.getLogger(ObligationService.class); @Resource ObligationDao dao; public void obligate() { log.debug("obligate start..."); dao.queryObligations(); log.error("An error occurred during the progress"); log.debug("obligate end..."); } }
package com.john.dao; @Repository public class ObligationDao { static final Logger log = LoggerFactory.getLogger(ObligationDao.class); public void queryObligations() { log.debug("query obligations start..."); log.error("An error occurred during the query"); log.debug("query obligations end..."); } }
2. 在logback(-test).xml中添加:
<appender name="serviceAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/logs/bribery.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/logs/bribery-%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> </encoder> </appender> <appender name="daoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/logs/venality.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/logs/venality-%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> </encoder> </appender> <logger name="com.john.service" level="DEBUG" additivity="false"> <appender-ref ref="serviceAppender" /> </logger> <logger name="com.john.dao" level="DEBUG" additivity="false"> <appender-ref ref="daoAppender" /> </logger>
在类路径下创建Spring的beans.xml文件:(beans节点省略)
<context:component-scan base-package="com.john" />
3. 测试方法:
@Test public void dispatchByPackageTest() { AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); ObligationService service = ctx.getBean(ObligationService.class); service.obligate(); }
执行测试后,
bribery.log:
15:59:59.839 [main] DEBUG c.j.s.ObligationService - obligate start...
15:59:59.844 [main] ERROR c.j.s.ObligationService - An error occurred during the progress
15:59:59.844 [main] DEBUG c.j.s.ObligationService - obligate end...
venality.log:
15:59:59.844 [main] DEBUG c.j.d.ObligationDao - query obligations start...
15:59:59.844 [main] ERROR c.j.d.ObligationDao - An error occurred during the query
15:59:59.844 [main] DEBUG c.j.d.ObligationDao - query obligations end...
二、根据日志级别输出
这里把所有级别为ERROR的日志输出到一个文件中
1. 修改logback(-test).xml文件
serviceAppender和daoAppender都加入以下级别过滤器,这样错误日志就不会在bribery.log和venality.log中打印了:
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter>
新建一个错误日志的appender:
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/logs/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/logs/venality-%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} %thread %X{invokeNo} %logger{40} %msg%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 --> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender>
name为com.john.dao和com.john.service的logger都加上errorAppender:
<appender-ref ref="errorAppender" />
2. 执行上面的测试方法,service和dao的错误日志都打印到error.log文件中了:
16:12:51,433 main com.john.dao.ObligationDao An error occurred during the query
16:12:51,433 main com.john.service.ObligationService An error occurred during the progress
发表评论
-
Netty系列之二、Netty组件
2014-10-12 19:55 0Netty主要由以下几个组件构成: Bootstrap o ... -
Netty系列之二:传输方式
2014-09-17 22:35 0NIO (Non-blocking I/O) io.netty ... -
Java正则表达式实例
2014-08-25 22:50 1892题目: 有两个文件context.txt和words ... -
quartz系列之九:存储
2014-08-05 13:16 0这里以1.8.x为例: 任务 ... -
JVM 四种引用
2014-04-24 19:56 17221. 强引用 指通过普通 ... -
Proxy 源码分析
2014-04-21 10:47 0public class Proxy implements ... -
NIO UDP 编程
2014-04-17 23:18 4210和TCP的SocketChannel类似,UDP的Dat ... -
Matcher 源码分析
2014-04-15 14:45 0首先看下接口: public interface Matc ... -
BTrace 使用
2014-03-20 18:03 0简介 Btrace (Byte Trace)是Sun推出的一款 ... -
NIO Socket 编程
2014-04-11 22:48 1608Java NIO (Nonblocking IO)解决了常规I ... -
hessian系列之二:上传文件
2014-02-17 17:16 6156hessian较早版本通过 byte[] 进行文件传输;4.0 ... -
hessian系列之三:与Spring集成
2014-02-17 20:21 17814Spring封装了hessian客户端和服务端的通用代码,把实 ... -
hessian系列之一:Hello world
2014-01-06 20:51 2258Hessian是一个Web Service的轻量级二进制协议, ... -
XStream:自定义转换器
2013-12-30 22:47 0XStream是一款不错的oxm (Object-XML ma ... -
Http连接工具类
2013-12-28 16:13 0public class HttpConnUtil { ... -
Integer源码分析
2013-12-26 19:59 0private static String toU ... -
全排序
2013-12-23 21:02 0写一个函数, 如 foo(String str), 打印出 s ... -
Properties 源码分析
2013-11-26 10:32 01. Properties类扩展了Hashtable,用来保存 ... -
logback系列之三:输出日志到文件(滚动)
2013-11-16 23:37 64278logback系列之一:输出日志到控制台 logback系列之 ... -
logback系列之二:输出日志到文件
2013-11-15 15:20 30240logback系列之一:输出日志到控制台 logback系列之 ...
相关推荐
springboot+logback输出日志文件1
异步输出日志的原理 1、配置文件logback-spring.xml SpringBoot工程自带logback和slf4j的依赖,所以重点放在编写配置文件上,需要引入什么依赖,日志依赖冲突统统都不需要我们管了。 logback框架会默认加载classpath...
logback+slf4j 异步日志输出到不同级别的文件-配置文件,下载即可使用。结合lombok【@slf4j】即可方便愉快的输出日志了 666
springboot 日志配置文件 logback 它当前分为以下三个模块: logback-core:其它两个模块的基础模块。 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如...
该配置使日志先按日期进行归类,然后按大小输出异步日志
appender:指定日志输出的媒介,即输出地(可以是控制台,可以是文件,远程套接字服务器等); layout:用来格式化日志信息的输出。 二.logback优于log4的原因 Logback对log4j进行了大量改进,Logback就是更好的log...
目前所有的日志记录方式采用的都是同步的方式,即直接将日志写入文件。每次日志输出到文件都会...采用异步写日志的方式,通过不让主线程去写日志文件而减少磁盘IO,避免并发下造成线程阻塞,从而减少不必要的性能损耗。
logback日志配置文件的详细注解,介绍指定哪个java包或者java类输出日志,输出什么level的日志,日志的文件命名,路径等
Logback 是一个 Java 领域的日志框架。它被认为是 Log4J 的继承人。 Logback 主要由三个模块组成
功能包括:功能日志记录(访问、参数、异常、返回结果集)、数据日志记录、日志查询... 日志记录:以JSON格式输出日志,通过log4j配置日志文件输出方式。 日志查询:提供servlet加载日志文件,前台JSON处理查询对照。
1、无需读取日志文件。 2、对代码无侵入,实时输出,0延时。 3、可定制日志格式等
此logback.xml文件既有成彩色输出也有日志级别的分类,不同级别的日志进行分类输出;error日志单独输出一份至一个文件夹中,设置滚动策略与info日志保持一致时间滚动策越+单个文件最大滚动策略,如果对日志滚动备份...
logback日志文件,用于项目的日志输出,可以直接复制到项目中及进行使用, 同时,里面提供日志异步到数据库 ,使用前更改数据库名称以及用户名密码即可。
这个代码实现了一个简单的应用程序,...这些日志信息将被Logback框架记录下来并输出到控制台或指定的文件中。这个例子展示了如何使用Java的日志框架来实现应用程序的日志记录功能,可以提高程序的可维护性和可追踪性。
主要给大家介绍了关于Spring Boot异步输出Logback日志的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
2. log4j2 的配置详解,JDBC 配置,CloseableThreadContext 的使用(自定义输出日志文件 例如 logback MDC) 3.logback 的XML配置与使用,MDC的使用,SiftingAppender,DBAppender(c3p0,druid) 详细查看代码:README.md ...
对Logback一些常用的配置进行整包,其中包括配置在控制台输出,输出到指定的文件中,自定义日志布局格式。
springboot日志配置logback.xml文件收藏,按日志级别份文件进行输出日志,包括其他各种日志配置。不用自己重新写,直接哪去用。
logback需要的jar包,以及配置文档logback.xml。配置包括:根据日期小时来写,根据日志文件大小来写,用邮件发送,输出到数据库,根目录日志级别设置等
logback中有5个日志级别:TRACE,DEBUG,INFO,WARN和ERROR 记录器级别的继承-如果为记录器分配了级别,它将覆盖其祖先的级别。 如果未为记录器分配级别,则它将继承其层次结构中的第一个非空级别。 记录器附加...