- 浏览: 1250024 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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系列之四:输出日志到不同文件
slf4j是Java的简单日志门面API,很多日志实现都可以与之集成,如JDK logging (java.util.logging), log4j和logback。优点是代码里不会有具体的日志实现类,减少侵入。
与log4j相比,logback具有一些优势,如更好的性能、更少的内存使用、自动重加载配置文件以及过滤功能等。
下面简要介绍下logback的使用:
1. 在pom.xml文件中添加依赖:
2. 在类路径下新建logback.xml或logback-test.xml(优先级高)文件:
3. 测试类:
输出:
11:50:16.266 [main] INFO c.j.l.a.Reconciliation - Hello from reconciliate
11:50:16.270 [main] DEBUG c.j.l.a.Reconciliation - My name is conciliate
11:50:16.271 [main] INFO c.j.l.b.Corruption - Hello from corrupt.
11:50:16.271 [main] INFO c.j.l.b.Corruption - Hello from corrupt.
所有logger的始祖是ROOT,默认会继承ROOT的配置,因此Corruption中的日志会打印两次。
解决:logger的additivity属性设置为false
logback系列之二:输出日志到文件
logback系列之三:输出日志到文件(滚动)
logback系列之四:输出日志到不同文件
slf4j是Java的简单日志门面API,很多日志实现都可以与之集成,如JDK logging (java.util.logging), log4j和logback。优点是代码里不会有具体的日志实现类,减少侵入。
与log4j相比,logback具有一些优势,如更好的性能、更少的内存使用、自动重加载配置文件以及过滤功能等。
下面简要介绍下logback的使用:
1. 在pom.xml文件中添加依赖:
<properties> <logback.version>1.0.11</logback.version> <slf4j.api.version>1.7.5</slf4j.api.version> </properties> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.api.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> </dependencies>
2. 在类路径下新建logback.xml或logback-test.xml(优先级高)文件:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoder的默认实现类是ch.qos.logback.classic.encoder.PatternLayoutEncoder --> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> </encoder> </appender> <!-- name值可以是包名或具体的类名:该包(包括子包)下的类或该类将采用此logger --> <logger name="com.john.logging.b" level="INFO"> <appender-ref ref="STDOUT" /> </logger> <!-- root的默认level是DEBUG --> <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration>
3. 测试类:
package com.john.logging.a; public class Reconciliation { private static final Logger log = LoggerFactory.getLogger(Reconciliation.class); public void reconciliate() { String name = "conciliate"; log.info("Hello from reconciliate"); log.debug("My name is {}", name); } }
package com.john.logging.b; public class Corruption { // logger名称为类的全限定名 private static final Logger log = LoggerFactory.getLogger(Corruption.class); public void corrupt() { String name = "allegation"; log.info("Hello from corrupt."); log.debug("My name is {}", name); } }
输出:
11:50:16.266 [main] INFO c.j.l.a.Reconciliation - Hello from reconciliate
11:50:16.270 [main] DEBUG c.j.l.a.Reconciliation - My name is conciliate
11:50:16.271 [main] INFO c.j.l.b.Corruption - Hello from corrupt.
11:50:16.271 [main] INFO c.j.l.b.Corruption - Hello from corrupt.
所有logger的始祖是ROOT,默认会继承ROOT的配置,因此Corruption中的日志会打印两次。
解决:logger的additivity属性设置为false
<logger name="com.john.logging.b" level="INFO" additivity="false">
发表评论
-
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 1943题目: 有两个文件context.txt和words ... -
quartz系列之九:存储
2014-08-05 13:16 0这里以1.8.x为例: 任务 ... -
JVM 四种引用
2014-04-24 19:56 17741. 强引用 指通过普通 ... -
Proxy 源码分析
2014-04-21 10:47 0public class Proxy implements ... -
NIO UDP 编程
2014-04-17 23:18 4260和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 1665Java NIO (Nonblocking IO)解决了常规I ... -
hessian系列之二:上传文件
2014-02-17 17:16 6228hessian较早版本通过 byte[] 进行文件传输;4.0 ... -
hessian系列之三:与Spring集成
2014-02-17 20:21 17899Spring封装了hessian客户端和服务端的通用代码,把实 ... -
hessian系列之一:Hello world
2014-01-06 20:51 2301Hessian是一个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 ... -
logback系列之四:输出日志到不同文件
2013-12-03 16:25 69047logback系列之一:输出日志到控制台 logback系列之 ... -
Properties 源码分析
2013-11-26 10:32 01. Properties类扩展了Hashtable,用来保存 ... -
logback系列之三:输出日志到文件(滚动)
2013-11-16 23:37 64434logback系列之一:输出日志到控制台 logback系列之 ...
相关推荐
Spring Boot 使用 Logback 输出日志文件 Spring Boot 提供了多种日志记录工具,包括 Logback、Log4J2 和 Java Util Logging。默认情况下,Spring Boot 使用 Logback 作为日志记录工具。在日志记录过程中,我们可以...
这个配置将日志输出到控制台,日志格式包括时间戳、线程名、日志级别、类名和日志消息。 5. **使用SLF4J进行日志记录** 在Java代码中,可以通过SLF4J接口进行日志记录,例如: ```java import org.slf4j.Logger...
appender:指定日志输出的媒介,即输出地(可以是控制台,可以是文件,远程套接字服务器等); layout:用来格式化日志信息的输出。 二.logback优于log4的原因 Logback对log4j进行了大量改进,Logback就是更好的log...
logback-slf4j还可以与lombok结合使用,通过使用lombok的 `@slf4j` 注解,可以方便地输出日志。 logback-slf4j日志配置文件提供了一种灵活、可靠的日志记录解决方案,能够满足不同的日志记录需求。
MDC是Logback提供的一种特性,允许我们在代码中存储一些诊断信息,这些信息会在日志记录时一同输出,对于追踪问题非常有用。 结合Shiro和Logback,我们可以构建一个安全且具有详细日志记录的Web应用。Shiro提供了...
例如,可以创建一个`ConsoleAppender`将日志输出到控制台,同时创建多个`RollingFileAppender`将不同级别的日志输出到不同的文件。以下是一个配置示例: ```xml <appender name="CONSOLE" class="ch.qos.logback....
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。 日志级别(log level):用来控制日志信息的输出,从高到低分为共分为七个等级: A:off 最高等级,用于关闭所有日志记录。 B:fatal ...
- `appender`定义日志输出的目标,如定义一个`ConsoleAppender`将日志输出到控制台,或者一个`FileAppender`将日志写入文件。 - `layout`决定日志的格式,如使用`PatternLayout`自定义日期、级别、类名等信息的显示...
Logback 使用 Logback 是一个流行的 Java 日志记录组件,由 log4j 的创始人 Ceki Gülcü 设计。Logback 当前分成三个模块:logback-core、logback-classic...这种配置将日志输出到控制台,并将日志级别设置为 TRACE。
通过SLF4J的接口和Logback的实现,我们可以灵活地控制日志级别,选择合适的输出目标,以及定制日志格式,从而更好地管理和分析项目中的日志信息。在SelfFourJ这个DEMO中,你可以亲身体验到这些概念的实际应用,...
例如,你可以设置 `root` logger 的级别,定义一个 `ConsoleAppender` 输出到控制台,或者创建一个 `FileAppender` 将日志写入文件。配置文件的语法基于 XML 或者纯文本,这里给出的是纯文本格式。 通过这些组件,...
Spring Boot默认将日志输出到控制台,但也可以配置输出到文件: ```xml <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>logs/app.log <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread...
### Logback日志配置详解 #### 一、Logback简介 Logback 是一款非常流行的 ...通过对控制台输出、文件输出以及特殊场景下的日志配置进行细致分析,可以帮助开发者更好地理解和应用 logback,提升项目的日志管理能力。
XML配置文件是logback框架的核心部分,通过配置,我们可以指定日志级别(TRACE、DEBUG、INFO、WARN、ERROR、OFF),定义日志输出目的地(控制台、文件、网络、数据库等),设置过滤器以控制哪些日志被记录,以及如何...
例如,ConsoleAppender 把日志输出到控制台,FileAppender 输出到指定文件。 3. **Layout**:Layout 将日志事件转换为字符串格式,如PatternLayout 可以按照自定义模式格式化日志。 4. **Filter**:Filter 用于...
在使用Logback时,你需要创建一个配置文件(通常是`logback.xml`或`logback.groovy`),该文件定义了日志的级别、输出目的地(如控制台、文件、数据库等)、布局样式和过滤器。配置的灵活性是Logback的一大优点,你...
这段配置会将日志输出到控制台,日志格式包括时间戳、线程名、日志级别、logger 名称、日志消息和换行符。 如果你想将日志写入文件,可以添加一个 File Appender: ```xml <appender name="FILE" class="ch.qos....
本文将详细介绍如何利用logback优化SpringBoot应用中的异常堆栈输出,以提高日志的可读性和实用性。 一、背景 在编程过程中,异常的抛出是难以避免的。为了便于调试和问题追踪,我们会记录异常堆栈信息。然而,原始...
在配置文件中,我们看到了ConsoleAppender的配置,它用于将日志输出到控制台。PatternLayoutEncoder用于定义日志的格式,其中可以设定日期、线程名、日志级别、日志来源文件以及行号等信息。在本文中,日志格式被...
Logback 是一个在Java应用程序中广泛使用的日志记录框架,它是对早期的log4j框架的一个升级和扩展。Logback 提供了高效、灵活的日志记录解决方案,支持多种日志级别,如DEBUG、INFO、WARN、ERROR等,帮助开发者调试...