在实际项目中,一般会采用读取配置文件的方式进行log控制,最常用的是log4j.properties
第一步: 新建一个java工程,名字就叫: logExample1
第二步: 在src目录下新建log4j.properties文件
代码如下:
#define the root logger
#appender's name is file and the level is INFO
log4j.rootLogger = INFO, file
log4j.appender.file = org.apache.log4j.RollingFileAppender
#the output file's name and directory
log4j.appender.file.File = ./out.log
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
第三步:创建MyApp类,代码如下
package com.noodle.util;
import org.apache.log4j.Logger;
import com.noodle.pojo.Movie;
public class MyApp {
static Logger logger = Logger.getLogger(MyApp.class);
public static void main(String[] args){
logger.info("application begin in main");
Movie movie = new Movie();
movie.watchIt();
logger.info("application end in main");
}
}
第四步:创建Movie类, 代码如下
package com.noodle.pojo;
public class Movie {
static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(Movie.class);
public void watchIt(){
logger.warn("Watch movie");
}
}
第五步: 结果在logExample1目录下生成out.log里面的内容是:
INFO [main] (MyApp.java:12) - application begin in main
WARN [main] (Movie.java:7) - Watch movie
INFO [main] (MyApp.java:17) - application end in main
如果要跟踪一个事件,单独为这个事件,设定日志。 那么需要一个Logger instance 穿插于各个class之间,这样在properites里如何去写呢?
log4j.properties:
#define the root logger
#appender's name is file and the level is INFO
log4j.rootLogger = INFO, file
log4j.appender.file = org.apache.log4j.RollingFileAppender
#the output file's name and directory
log4j.appender.file.File = ./out.log
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.logger.eventLogName = INFO, eventlog
#Properties are case sensitive.
#log4j.logger.EVENTLOGNAME = INFO, eventlog
#that is unable to print the log messages in the console.
log4j.appender.eventlog = org.apache.log4j.ConsoleAppender
log4j.appender.eventlog.layout = org.apache.log4j.PatternLayout
log4j.appender.eventlog.layout.ConversionPattern = %d{dd-MM-yyyy}, %d{HH:mm:ss}, %-5.5p, %m %n
MyApp.java
package com.noodle.util;
import org.apache.log4j.Logger;
import com.noodle.help.AppConstant;
import com.noodle.pojo.Movie;
public class MyApp {
static Logger logger = Logger.getLogger(MyApp.class);
static Logger eventlogger = Logger.getLogger(AppConstant.EVENT);
public static void main(String[] args){
logger.info("application begin in main");
eventlogger.info("this is the begin of the eventlog");
Movie movie = new Movie();
movie.watchIt();
eventlogger.info("this is the end of the eventlog");
logger.info("application end in main");
}
}
Movie.java
package com.noodle.pojo;
public class Movie {
static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(Movie.class);
public void watchIt(){
logger.warn("Watch movie");
}
}
定义一个AppConstant.java
package com.noodle.help;
public class AppConstant {
public final static String EVENT = "eventLogName";
}
这样,去运行以下,得到的结果是:
在out.log日志里输出:
INFO [main] (MyApp.java:12) - application begin in main
INFO [main] (MyApp.java:13) - this is the begin of the eventlog
WARN [main] (Movie.java:7) - Watch movie
INFO [main] (MyApp.java:16) - this is the end of the eventlog
INFO [main] (MyApp.java:17) - application end in main
而同时在控制台里输出了:
18-08-2009, 20:37:20, INFO , this is the begin of the eventlog
18-08-2009, 20:37:20, INFO , this is the end of the eventlog
Enjoy it!
分享到:
相关推荐
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-2.15.0....
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-...
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
赠送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; ...
赠送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-api-2.12.4.jar和log4j-core-2.12.4.jar,该版本避免log4j漏洞问题。
赠送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; 包含翻译后...
开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3...
赠送jar包:log4j-api-2.12.1.jar; 赠送原API文档:log4j-api-2.12.1-javadoc.jar; 赠送源代码:log4j-api-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-api-2.12.1.pom; 包含翻译后的API文档:log4j-api-...
赠送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; 包含翻译后...
赠送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; 包含翻译后...
赠送jar包:log4j-api-2.17.1.jar; 赠送原API文档:log4j-api-2.17.1-javadoc.jar; 赠送源代码:log4j-api-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-api-2.17.1.pom; 包含翻译后的API文档:log4j-api-...
开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-...
赠送jar包:apache-log4j-extras-1.2.17.jar; 赠送原API文档:apache-log4j-extras-1.2.17-javadoc.jar; 赠送Maven依赖信息文件:apache-log4j-extras-1.2.17.pom; 包含翻译后的API文档:apache-log4j-extras-...
log4j-API-最新稳定版本log4j-1.2.17 apache log4j-API-最新稳定版本log4j-1.2.17
log4j-api-2.17.1.jar和log4j-core-2.17.1.jar
log4j-1.3alpha-7.jar, log4j-api-2.0.2-javadoc.jar, log4j-api-2.0.2-sources.jar, log4j-api-2.0.2.jar, log4j-boot.jar, log4j-bridge-0.9-sources.jar, log4j-bridge-0.9-tests.jar, log4j-bridge-0.9.4-...
logging-log4j2-log4j-2.15.0-rc2.zip
赠送jar包:log4j-to-slf4j-2.10.0.jar; 赠送原API文档:log4j-to-slf4j-2.10.0-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.10.0-sources.jar; 包含翻译后的API文档:log4j-to-slf4j-2.10.0-javadoc-API文档-...
赠送jar包:log4j-to-slf4j-2.7.jar; 赠送原API文档:log4j-to-slf4j-2.7-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.7-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.7.pom; 包含翻译后的API文档:...