Java :Log4j的输入示例

可以使用特殊的配置文件以编程方式和外部方式配置log4j。最好使用外部配置,因为要使其生效,不需要更改应用程序代码,重新编译或重新部署。配置文件可以是XML文件或Java属性文件,可以分别使用任何文本编辑器或XML编辑器来创建和编辑。

1.以编程方式配置log4j

这个例子来自这个站点,代码很乱,所以为什么不把它弄干净。

package Test;
 
import org.apache.log4j.*;
 
public class TestLog {
 
	/*
	 * get a static logger instance with name TestLog
	 */
	static Logger myLogger = Logger.getLogger(TestLog.class.getName());
	Appender myAppender;
	SimpleLayout myLayout;
 
	/* Constructor */
	public TestLog() {
 
		/*
		 * Set logger priority level programmatically. Though this is better done externally
		 */
		myLogger.setLevel(Level.ALL);
 
		/*
		 * Instantiate a layout and an appender, assign layout to appender
		 * programmatically
		 */
		myLayout = new SimpleLayout();
		myAppender = new ConsoleAppender(myLayout); // Appender is Interface
 
		/* Assign appender to the logger programmatically */
		myLogger.addAppender(myAppender);
 
	} // end constructor
 
	public void do_something(int a, float b) {
 
		/*
		 * This log request enabled and log statement logged, since INFO = INFO
		 */
		myLogger.info("The values of parameters passed to method  do_something are: "+ a + ", " + b);
 
		/* this log request is not enabled, since DEBUG < INFO */ 		myLogger.debug("Operation performed successfully"); 		Object x=null; 		if (x == null) { 			/* 			 * this log request is enabled and log statement logged, since ERROR 			 * > INFO
			 */
			myLogger.error("Value of X is null");
 
		}
	} // end do_something()
	public static void main(String []args){
		new TestLog().do_something(1, 3);
	}
} // end class MyClass

这是输出的快照:
在这里插入图片描述
2.在外部配置Log4j

在项目的“ src”目录中创建一个名为“ log4j.properties”的文件。

# Define the root logger with appender file
log = /home/ryan/Desktop/log4j
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

这是Java代码。

package Test;
import org.apache.log4j.Logger;
public class TestLogger {
	static Logger myLogger = Logger.getLogger(TestLog.class.getName());
 
	public static void main(String[] args) {
		myLogger.info("testing");
		myLogger.warn("warning testing");
		myLogger.error("this is an error");
	}
 
}

日志将打印在/ home / ryan / Desktop / log4j目录中的log.out文件中。

在这里插入图片描述

发布了0 篇原创文章 · 获赞 0 · 访问量 108

猜你喜欢

转载自blog.csdn.net/qq_41806546/article/details/105134350
今日推荐