log4j简易入门
package test.log4j;
import org.apache.log4j.Logger;
public class HelloLog4j {
private static final Logger logger = Logger.getLogger(HelloLog4j.class);
public static void main(String[] args) {
logger.debug("This is debug message");
logger.info("This is info message");
logger.warn("This is warn message");
logger.error("This is error message");
}
}
复制代码
log4j简单配置log4j.properties
#可以设置级别:debug < info < warn < error
#debug: 显示debug, info, warn, error
#info: 显示info, warn, error
#warn: 显示warn, error
#error: 只显示error
#日志的输出级别由rootLogger和普通Logger设置的最高级别决定。
#log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1
log4j.rootLogger=warn,appender1
#log4j.rootLogger=error,appender1
#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#样式为TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
#这里配置的是类所在的包test.log4j, 逗号之前未配置日志输出级别,默认为根logger的级别
log4j.logger.test.log4j=, TEST
log4j.appender.TEST=org.apache.log4j.ConsoleAppender
log4j.appender.TEST.layout=org.apache.log4j.TTCCLayout
复制代码
log4j提供的Appender
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
复制代码
log4j提供的Layout
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
复制代码
Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
复制代码
以上资料参考:http://www.iteye.com/topic/378077
slf4j简介
SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。
slf4j简单示例
package test.slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloSlf4j {
private static final Logger logger = LoggerFactory.getLogger(HelloSlf4j.class);
public static void main(String[] args) {
logger.debug("This is debug message");
logger.info("This is info message");
logger.warn("This is warn message");
logger.error("This is error message");
}
}
复制代码
假设使用log4j做为底层日志工具,运行以上程序需要三个包:log4j-1.2.xx.jar、slf4j-api-x.x.x.jar、以及slf4j-log4j12-x.x.x.jar,后两个包由slf4j提供,包名中的x表示版本号。
以上资料参考:http://chenming47.iteye.com/blog/923658
分享到:
相关推荐
赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...
赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...
赠送jar包:log4j-slf4j-impl-2.17.1.jar; 赠送原API文档:log4j-slf4j-impl-2.17.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.17.1.pom; ...
总结,SLF4J和Log4j的组合使用让日志管理更加灵活,开发者可以通过SLF4J的简洁API进行日志记录,同时利用Log4j的强大功能,如自定义输出格式和多种输出目的地。通过适当的配置和测试,我们可以确保日志系统按照预期...
在给定的标题和描述中,我们看到了两个关键的日志框架——`log4j`和`SLF4J(Simple Logging Facade for Java)`,以及它们之间的桥接器`slf4j-log4j12`。这些组件是Java日志处理的常用工具,让我们详细了解一下它们...
log4j-slf4j-impl-2.11.2.jar
赠送jar包:log4j-slf4j-impl-2.17.1.jar; 赠送原API文档:log4j-slf4j-impl-2.17.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.17.1.pom; ...
总结,Log4j-SLF4J-Impl结合了SLF4J的灵活性和Log4j的强大功能,为Java开发者提供了高效且可扩展的日志解决方案。了解并熟练掌握这一组件,能显著提升开发效率,同时也有助于构建更稳定、易维护的应用系统。
总结一下,这个压缩包提供了Log4j 2和SLF4J的核心组件,允许开发者利用SLF4J的简单接口和Log4j 2的强大功能。通过SLF4J的绑定实现,可以在保持代码与日志实现解耦的同时,享受到Log4j 2的高效和灵活。在实际项目中,...
本文将深入探讨“日志4j(Log4j)、SLF4J(Simple Logging Facade for Java)和logback 1.3.0”这三者之间的关系以及它们在Java应用中的作用。 首先,Log4j是Apache软件基金会开发的一个流行的日志记录框架,它允许...
删除项目中存在的Log4j1.x所必须的log4j和slf4j-log4j12等依赖可以使用以下命令: mvn dependency:tree > tree.log cat tree.log | grep log4j 添加Slf4j和Log4j2的依赖可以使用以下配置: <groupId>org.slf4j ...
而Log4j和SLF4J(Simple Logging Facade for Java)是两种广泛使用的日志框架。 **Log4j** Log4j是Apache的一个开源项目,提供了一种灵活的日志系统,允许开发者控制日志信息的输出级别、输出位置以及格式。它的...
今天,我们将讨论如何将 Log4j2 结合 Slf4j 配置使用,以便更好地记录和管理日志。 首先,我们需要下载 Log4j2 和 Slf4j 的 jar 文件。Log4j2 的下载地址是 http://logging.apache.org/log4j/2.x/download.html,...
赠送jar包:log4j-to-slf4j-2.12.1.jar; 赠送原API文档:log4j-to-slf4j-2.12.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.12.1.pom; 包含翻译后...
将JUnit、log4j和SLF4J结合使用,开发者可以在开发过程中方便地进行单元测试,并通过SLF4J调用底层的日志框架(如log4j)记录测试和应用运行过程中的日志信息。这有助于调试、性能分析和问题定位,从而提高软件质量...
赠送jar包:log4j-to-slf4j-2.17.1.jar; 赠送原API文档:log4j-to-slf4j-2.17.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.17.1.pom; 包含翻译后...
SLF4J(Simple Logging ...总的来说,“log4j_slf4j.jar”是一个方便的组合包,它整合了SLF4J和Log4j,使得开发者可以轻松地在项目中实现日志记录,同时保留了更换日志框架的可能性,提高了项目的可维护性和可移植性。
赠送jar包:log4j-over-slf4j-1.7.33.jar; 赠送原API文档:log4j-over-slf4j-1.7.33-javadoc.jar; 赠送源代码:log4j-over-slf4j-1.7.33-sources.jar; 赠送Maven依赖信息文件:log4j-over-slf4j-1.7.33.pom; ...
日志记录文件,使用log4j,和slf4j。这种联合使用的方式,提供log4j的jar包、log4j-over-slf4j的jar包,slf4j-api的jar包,以及log4j.properties文件。