最近研究了一下 java 的日志问题。
下面给大家推荐我个人觉的写的比较好的博客。
https://www.cnblogs.com/crazyacking/p/5456347.html
https://blog.csdn.net/oscar999/article/details/9698489
我的心得也都是从两位前辈那学习来的,我就不班门弄斧了。下面呢,我贴一下我自己的代码,只是为了记录一下做个笔记。
jdk 自带日志
//jdk4 以后就自带的记录日志 Logger
public static void logging() throws SecurityException, IOException {
Logger log=Logger.getLogger("testlog");
log.setLevel(Level.ALL);
FileHandler fileHandler=new FileHandler("C:\\Users\\Administrator\\Desktop\\Test\\tetslog.log");
fileHandler.setLevel(Level.ALL);
fileHandler.setFormatter(new LogFormatter());
log.addHandler(fileHandler);
log.info("日志");
}
使用Log4j 记录日志
//使用log4j来进行记录日志
public static void log4j() {
org.apache.log4j.Logger log=org.apache.log4j.Logger.getLogger(Log4j.class);
PropertyConfigurator.configure("log4j.properties");
log.debug("Here is some debug");
log.info("Here is some Info");
log.warn("Here is some Warn");
log.error("Here is some Error");
log.fatal("Here is some Fatal");
}
###这个是log4j的配置文件 文件名是 log4j.properties
### 设置日志级别 ###
log4j.rootLogger=debug,stdout,logfile
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d-[ %p ] - [ %l ] %m%n
### 输出到日志文件 ###
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File = C:\\Users\\Administrator\\Desktop\\Test\\debug.log
log4j.appender.logfile.MaxFileSize = 512KB
log4j.appender.logfile.MaxBackupIndex = 3
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %p ] - [ %l ] %m%n
log4j + commons-logging
public static void logcomm() {
org.apache.commons.logging.Log log=org.apache.commons.logging.LogFactory.getLog(Log4j_common_logging.class);
log.debug("Here is some DEBUG");
log.info("Here is some INFO");
log.warn("Here is some WARN");
log.error("Here is some ERROR");
log.fatal("Here is some FATAL");
}
![](https://i-blog.csdnimg.cn/blog_migrate/7a83d3c9dce25a991c237b57273063f0.png)
下面是一些Log4j的一下知识:
日志输出格式,所用到的参数如下,按需添加:
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息所属的类目,通常就是所在类的全名 %t: 输出产生该日志事件的线程名 %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10