手机
当前位置:查字典教程网 >编程开发 >Java >java不通过配置文件初始化logger示例
java不通过配置文件初始化logger示例
摘要:复制代码代码如下:importorg.apache.log4j.ConsoleAppender;importorg.apache.log4j...

复制代码 代码如下:

import org.apache.log4j.ConsoleAppender;

import org.apache.log4j.FileAppender;

import org.apache.log4j.Level;

import org.apache.log4j.Logger;

import org.apache.log4j.PatternLayout;

public class LoggerUtils {

/**

* 创建Logger实例

*

* @paramclazz事件日志发生类

* @paramifConsole是否输出到控制台

* @paramifFile是否输出到文件

* @paramlogFile日志文件地址(路径分割使用“/”)

* @paramifLocate是否定位事件日志发生位置(类.方法 line)

* @returnLogger

*/

public static Logger getLogger(Class<?> clazz, boolean ifConsole, boolean ifFile, String logFile, boolean ifLocate) {

if(ifConsole == false && ifFile == false) return null;

if(ifFile == true && logFile.trim().length() < 1) return null;

String conversionPattern;

if(ifLocate == true) {

// 日志内容形式如:2014-03-11 01:34:45.572 [DEBUG] com.aliyun.qa.utils.LoggerUtilsTest.main(Line:15): 测试DEBUG日志

conversionPattern = "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] %c.%M(Line:%L): %m %n";

} else {

// 日志内容形式如:2014-03-11 01:34:45.572 [DEBUG] : 测试DEBUG日志

conversionPattern = "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] : %m %n";

}

PatternLayout layout = new PatternLayout();

layout.setConversionPattern(conversionPattern);

Logger logger = Logger.getLogger(clazz);

logger.removeAllAppenders();

logger.setLevel(Level.DEBUG);

logger.setAdditivity(false);// Logger不会在父Logger的appender里输出,默认为true

if(ifConsole == true) {// 日志输出到控制台

ConsoleAppender consoleAppender = new ConsoleAppender();

consoleAppender.setLayout(layout);

consoleAppender.setThreshold(Level.INFO);// ConsoleAppender日志级别为DEBUG

consoleAppender.activateOptions();

logger.addAppender(consoleAppender);

}

if(ifFile == true) {// 日志输出到文件

FileAppender fileAppender = new FileAppender();

fileAppender.setLayout(layout);

fileAppender.setFile(logFile);

fileAppender.setEncoding("UTF-8");

fileAppender.setAppend(true);

fileAppender.setThreshold(Level.INFO);// FileAppender日志级别为INFO

fileAppender.activateOptions();

logger.addAppender(fileAppender);

}

return logger;

}

/**

* 创建Logger实例(仅输出到控制台)

*

* @paramclazz事件日志发生类

* @paramifLocate是否定位事件日志发生位置(类.方法 line)

* @returnLogger

*/

public static Logger getLogger(Class<?> clazz, boolean ifLocate) {

return getLogger(clazz, true, false, null, ifLocate);

}

/**

* 创建Logger实例(仅输出到文件)

*

* @paramclazz事件日志发生类

* @paramlogFile日志文件地址(路径分割使用“/”)

* @paramifLocate是否定位事件日志发生位置(类.方法 line)

* @returnLogger

*/

public static Logger getLogger(Class<?> clazz, String logFile, boolean ifLocate) {

return getLogger(clazz, false, true, logFile, ifLocate);

}

}

【java不通过配置文件初始化logger示例】相关文章:

java通过url读取文件内容示例

简单的用java实现读/写文本文件的示例

java集合求和最大值最小值示例分享

java stringbuffer的用法示例

Java parseInt解释加方法示例

java生成压缩文件示例代码

Java读写文件创建文件夹多种方法示例详解

java使用dom4j解析xml配置文件实现抽象工厂反射示例

java枚举的使用示例

java读取大文件简单实例

精品推荐
分类导航