`
lowzoom
  • 浏览: 27179 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Log4J的输出控制

阅读更多
今天发现log4j输出信息中有两个很有用的参数:

%l
之前一直在用 %C.%M 显示日志输出源的完整路径,主要是想日后方便根据完整的类名和方法名找回日志输出语句。
但原来 %l 就已经包含了日志发生的精确位置,最重要的是它带了一个超链接,一点就直接跳转到日志语句,连输出的方法路径都不用看了。。。
不过需要提的是,在eclipse里,%l的前一个字符好像只能是空格,如果是其他字符,超链接会失效或者外观有异样 - -

%c
这个参数输出的信息貌似跟%C、%l之流差不多,BUT...这个参数要屌得多!!
你想让struts闭嘴吗?你受够各种开源库里的DEBUG日志了吗?你是不是试过明明按着%C、%l输出的完整类名,用 log4j.logger.包名 设置了指定包的日志输出级别,但结果TMD跟没设一样?有没有一种感觉那些肏蛋的、狗日的、杀不死的日志每一句都是在对你的嘲笑?。。。
恭喜你,从今天起,你可以雄起了。

这个参数输出的是你传进 Logger.getLogger() 里的类名,在控制指定包的日志输出级别时,其实是这个值在起作用!

举个例子:

package fuck;
public class Fucker{
	private static final Logger LOGGER = Logger.getLogger(String.class.getName());
	public static void main(String[] args) throws Exception{
		LOGGER.info("fuck");	
	}
}
一开始很傻很天真的我以为想不被fuck,将fuck的门槛调高就行了:
引用
log4j.logger.fuck = error
结果,当然是和同样很傻很天真的阿娇一样。正如这个社会,fuck与不fuck,都不取决于fuck这件事本身,重点是谁在fuck:
引用
log4j.logger.java.lang = error
至此,我终于保住了菊花。

附上我的输出格式:
ConversionPattern=<%d{HH:mm:ss}|%p> %l <%c>%n%m%n%n

最后提醒一下,官方特别强调,有输出完整类名的参数,都会带来很大的性能开销,所以在release的时候需要注意移除。
分享到:
评论

相关推荐

    log4j-控制指定类,包的日志级别:log4j-demo.zip

    Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能,包括控制日志级别、定制日志格式、支持多种输出方式等。本示例将详细介绍如何使用Log4j来控制指定类或包的日志级别。 首先,我们来理解日志级别的...

    Log4j将System.out搞到log4j中输出四

    《Log4j将System.out重定向到Log4j输出详解》 在日志管理中,Log4j是一款广泛使用的开源日志框架,它允许开发者灵活地控制日志信息的输出方式和级别。当我们习惯于使用`System.out.println()`进行调试时,如何将...

    log4j配置 输出日志 案例

    通过配置log4j,我们可以控制日志的输出位置、级别以及格式。 ### 二、Log4j配置 Log4j的配置主要通过一个XML或.properties文件进行,通常命名为log4j.properties或log4j.xml。以下是一个基本的log4j.properties...

    log4j自定义日志文件名及日志输出格式

    Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...

    log4j的eclipse工程,输出到文件的方式配置log4j

    Log4j是Apache的一个开源项目,它提供了一个灵活的日志系统,允许开发者在运行时控制日志信息的级别、格式以及输出位置,包括文件、控制台、数据库等。 描述"一直在使用log4j。输出到文件的方式配置log4j。这是一个...

    日志框架统一输出控制(slf4j+log4j)

    本文将深入探讨如何通过SLF4J作为日志接口,结合Log4j作为具体的日志实现,实现日志框架的统一输出控制。 首先,SLF4J是一个日志门面,提供了一组API,允许开发者在不关心具体日志实现的情况下编写日志代码。它的...

    log4j多文件输出打印

    本话题将深入探讨如何使用Log4j实现多文件输出打印,以及自定义日志的配置。 首先,我们要理解Log4j的基本工作原理。Log4j的核心组件包括Logger、Appender和Layout。Logger负责生成日志事件,Appender则负责接收...

    log4j-1.2.17的jar包以及依赖包,还有一份log4j的配置文件,输出到控制台和文件夹两种配置

    2. **Appenders**: Appender是Log4j的输出端口,用于指定日志信息的输出目标。在`log4j.properties`中,可能会定义多个Appender,比如将日志输出到控制台(ConsoleAppender)和文件(FileAppender)。 3. **Layouts...

    log4j-1.2.9

    设置log4j的根目录,值为 日志等级(DEBUG,INFO,WARN,ERROR,FATAL) , 输出目标名称 log4j.rootLogger=DEBUG,A1 设置输出方式,常用的有: ConsoleAppender 在控制器中输出信息 RollingFileApperder 在文件中输出...

    log4j输出日志到数据库表中

    **标题解析:** "log4j输出日志到数据库表中" 指的是使用Log4j这个流行的Java日志框架,将日志记录存储在数据库的特定表中,而不是默认的文本文件或控制台。这通常是出于日志管理、分析和长期存储的需求。 **描述...

    示范如何在android工程中使用log4j记录日志

    Log4j是一个广泛使用的Java日志框架,它提供了强大的日志处理功能,包括日志级别控制、自定义日志格式、多路复用等。然而,由于Android系统对第三方库的限制,直接在Android工程中使用Log4j需要一些额外的步骤。本文...

    log4j-api-2.12.4.ja和log4j-core-2.12.4.jar

    配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别、目的地(如控制台、文件、数据库等)以及格式。 总的来说,Log4j 2是Java开发中不可或缺的...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    Log4j是Apache组织开发的一款强大的日志组件,它允许开发者对应用程序进行日志输出的控制。Log4j包括三个核心部分:配置器(Configurator)、日志记录器(Logger)和布局器(Layout)。配置器用于设置日志级别和输出...

    log4j按功能保存日志

    - **Logger**: 日志记录器,是Log4j的核心组件,负责实际的日志输出。你可以为每个功能模块创建一个独立的Logger,以便区分日志来源。 - **Appender**: 输出目的地,用于定义日志信息被发送到哪里,如控制台、文件...

    Log4j输出日志到syslog

    标题中的“Log4j输出日志到syslog”是指使用Log4j日志框架将应用程序的日志信息发送到syslog服务器的过程。Log4j是Java编程语言中广泛使用的日志记录工具,它允许开发者灵活控制日志信息的输出级别、格式和目标。而...

    log4j-api-2.17.1.jar和log4j-core-2.17.1.jar

    例如,`org.apache.logging.log4j.core.appender.ConsoleAppender`用于将日志输出到控制台,而`org.apache.logging.log4j.core.layout.PatternLayout`则可以按照自定义的模式格式化日志信息。 Log4j2的亮点之一是其...

    log4j输出位置配置

    这篇博文主要探讨的是如何配置Log4j以改变日志输出的位置。 首先,我们要理解Log4j的核心配置文件——`log4j.properties`。这个文件使用键值对的形式定义了日志的行为和输出设置。在`log4j.properties`中,有以下几...

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等

    在上述配置中,`log4j.rootLogger`定义了日志级别和Appender,`log4j.appender.Console`和`log4j.appender.File`分别配置了控制台输出和文件输出的细节。`ConversionPattern`用于设置日志输出的格式。 在提供的文件...

    log4j示例项目

    Log4j主要包括三个核心组件:Logger(日志器)、Appender(输出端)和Layout(格式化器)。 - **Logger**: 负责生成日志信息,是日志操作的入口。根据严重性级别(如DEBUG、INFO、WARN、ERROR、FATAL),Logger可以...

    log4j打印到控制台输出sql语句

    log4j错误打印到控制台 并且输出sql语句

Global site tag (gtag.js) - Google Analytics