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");
}
}
#可以设置级别: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
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
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)
SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,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表示版本号。
相关推荐
日志记录文件,使用log4j,和slf4j。这种联合使用的方式,提供log4j的jar包、log4j-over-slf4j的jar包,slf4j-api的jar包,以及log4j.properties文件。
Log4j 和 Slf4j 都是广泛使用的 Java 日志框架,各有其优缺点。在选择时,建议根据项目的具体需求和场景来权衡。如果需要一个完整的日志解决方案并且对性能和资源占用不太敏感,Log4j 可能是一个不错的选择。如果更...
Java日志全面示例,可以下载运行,简洁易懂,能说明问题。 用maven构建,Java中普通加载log4j,普通web项目加载log4j,Spring项目加载log4j,让你彻底清除Java日志的配置和集成
使用log4j2实现日志数据脱敏
java项目中使用log4j 和slf4j日志系统所需的基本jar包,适用手动导包的情形,如果想要最新版,请访问https://blog.csdn.net/qq_34869990/article/details/89763768
java高级处理日志工具org.slf4j.log4j.jar,可以和org.slf4j.jar结合起来使用
根据项目需要,要求日志文件名及输出的日志内容头为特殊的格式,因此重写了log4j的一些方法,如要求的格式和项目不同,可根据示例参考进行再次的修改
java高级处理日志工具org.slf4j.jar,可以和org.slf4j.log4j结合起来使用
非web工程使用slf4j输出日志 非web工程使用slf4j输出日志 非web工程使用slf4j输出日志
简单java操作log4j+Mysql存储日志信息,用到了slf4j-log4j12-1.5.0.jar,slf4j-api-1.5.0.jar获取原调用类堆栈信息
ehcache-2.10.2.jar ,slf4j-api-1.7.7.jarm,slf4j-jdk14-1.7.7.jar,slf4j-log4j12-1.7.7.jar,log4j-1.2.17.jar
slf4j-1.4.3 java开源log日志包
slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade。Facade:门面,更底层一点说就是接口。他允许用户以自己的喜好,在工程中通过slf4j接入不同的日志系统。更直观一点,slf4j是个数据线,一端...
slf4j+log4j JAVA日志程序
slf4j结合log4j,java简单实例,以及所用jar包!!
Slf4j日志相关jar包 包含log4j Slf4j jboss-logging commons-logging
slf4j日志级别有五种:ERROR、WARN、INFO、DEBUG、TRACE,级别从高到底 其示例中取warn级别及写入数据库配置:database 三、配置文件db.properties、log4j.properties两个配置文件可以通过servlet配置来使用,也...
Simple Logging Facade for Java (SLF4J) The Simple Logging ...Java的简单日志外观(SLF4J)作为各种日志框架(例如JavaUTIL日志记录、LogCub、Log4J)的简单外观或抽象,允许终端用户在部署时插入所需的日志框架。
2.日志实例将使用SLF4J创建 - private final static Logger log = Logger . getLogger( UserSessionFilter . class); + private final static Logger log = LoggerFactory . getLogger( UserSessionFilter . class);...
分享我写的彩色控制台日志组件-基于slf4j-simple改造。 有颜色、最简单/全面的log内容、最佳的性能,能够定制所有的内容,所以我写了一个彩色控制台log的java组件。 原创不易多多支持。