`
lowzoom
  • 浏览: 26684 次
  • 性别: 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-1.2.9

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

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

    log4j-如何控制指定类,包的日志输出级别: https://blog.csdn.net/u011479200/article/details/102476242

    Log4j详解,详细讲解log4j的使用,和原理

    配置文件是 Log4j 的核心组件之一,通过配置文件可以灵活地控制日志的输出。 Log4j 的配置方式 Log4j 提供了多种配置方式,包括: * 通过配置文件来配置 Log4j * 通过 Java 代码来配置 Log4j Log4j 的输出级别 ...

    log4j相关jar

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

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

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

    官网原版log4j

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

    log4j-1.2.14

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

    log4J-1.2.17.zip

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

    org.apache.log4j

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

    Log4j日志管理系统简单使用说明

    Log4j有三个主要的组件:Loggers,Appenders和Layouts,这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松的记录信息的类型和级别,并可以在运行时控制日志输出的样式和...

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

    Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件log4j.properties(键=值)。下面将介绍使用log4j.properties文件作为配置文件的方法:

    Log4j1.2.16官方文档和jar包

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

    log4j-1.2.16.zip

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

    Log4J详细文档.doc

    Log4J(Log for java)是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台、文件、CUI组件、NT的事件记录器;还可以控制每一条日志输出格式。此外,通过...

    log4j使用实战

    log4j.rootLogger=INFO,CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender INFO是日志记录的最低等级,必须写,它和比它高的等级会进入日志,如WARN、ERROR、FATAL、OFF。 关于8个日志等级,参考:...

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

    NULL 博文链接:https://xiebin-javalover.iteye.com/blog/1932019

    \使用高效的日志工具—log4j详细教程

    通过Log4J可以在不修改代码的情况下,方便、灵活地控制任意粒度的日志信息的开启或关闭,然后使用定制的格式,把日志信息输出到一个或多个需要的地方。并且,Log4J还有一条平滑的学习曲线,在三分钟内就可学会它的...

    Log4j使用手册

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

    log4j 说明文档

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

    log4j.properties

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

Global site tag (gtag.js) - Google Analytics