您的位置:首页 > 其它

log4j日志自定义名称

2014-06-27 17:42 127 查看

1,导入apache下的log4j的jar包新建j2se项目,某包下建立LogSelf文件

package com.qdwb.mlxc.util;

import org.apache.log4j.Level;

import org.apache.log4j.Logger;

public class LogSelf {

// 一般log,打印各种调试信息等

//public static final SwapLog commonLog = new SwapLog("common");

// 性能信息日志

public static final LogSelf fslLog = new LogSelf("self_log01");

private Logger logger;

private String prefix = "";

// Log的开关

private boolean isLogEnabled;

public LogSelf() {

}

public LogSelf(String name) {

this(name, null);

isLogEnabled = true;

}

public LogSelf(String name, String prefix) {

logger = Logger.getLogger(name);

setPrefix(prefix);

}

public void setPrefix(String prefix) {

if (prefix != null && prefix.length() > 0)

this.prefix += "[" + prefix + "]";

}

public boolean isDebugEnabled() {

return logger.isEnabledFor(Level.DEBUG);

}

public boolean isInfoEnabled() {

return logger.isEnabledFor(Level.INFO);

}

public boolean isWarnEnabled() {

return logger.isEnabledFor(Level.WARN);

}

public boolean isErrorEnabled() {

return logger.isEnabledFor(Level.ERROR);

}

public boolean isFatalEnabled() {

return logger.isEnabledFor(Level.FATAL);

}

public void debug(Object object, Throwable throwable) {

if (logger.isEnabledFor(Level.DEBUG) && isLogEnabled)

logger.debug(wrap(object), throwable);

}

public void debug(Object object) {

if (logger.isEnabledFor(Level.DEBUG) && isLogEnabled)

logger.debug(wrap(object));

}

public void info(Object object, Throwable throwable) {

if (logger.isEnabledFor(Level.INFO) && isLogEnabled)

logger.info(wrap(object), throwable);

}

public void info(Object object) {

if (logger.isEnabledFor(Level.INFO) && isLogEnabled)

logger.info(wrap(object));

}

public void warn(Object object, Throwable throwable) {

if (logger.isEnabledFor(Level.WARN) && isLogEnabled)

logger.warn(wrap(object), throwable);

}

public void warn(Object object) {

if (logger.isEnabledFor(Level.WARN) && isLogEnabled)

logger.warn(wrap(object));

}

public void error(Object object, Throwable throwable) {

if (logger.isEnabledFor(Level.ERROR) && isLogEnabled)

logger.error(wrap(object), throwable);

}

public void error(Object object) {

if (logger.isEnabledFor(Level.ERROR) && isLogEnabled)

logger.error(wrap(object));

}

public void fatal(Object object, Throwable throwable) {

if (logger.isEnabledFor(Level.FATAL) && isLogEnabled)

logger.fatal(wrap(object), throwable);

}

public void fatal(Object object) {

if (logger.isEnabledFor(Level.FATAL) && isLogEnabled)

logger.fatal(wrap(object));

}

// 加前缀

private Object wrap(Object object) {

if (prefix != null)

return (new StringBuilder(String.valueOf(prefix))).append(object)

.toString();

else

return object;

}

// 设定开关

public void setLogEnabled(boolean enabled) {

this.isLogEnabled = enabled;

}

public boolean isLogEnabled() {

return isLogEnabled;

}

}

2,在src下建立log4j.properties文件

# This is the configuring for logging displayed in the Application Server

log4j.rootLogger=OFF, stdout

# stdout

log4j.logger.self_log01=INFO,fslLog

#log4j.appender.fslLog.Threshold=DEBUG

log4j.appender.syslog.encoding=gbk

log4j.appender.fslLog=org.apache.log4j.ConsoleAppender

log4j.appender.fslLog.layout=org.apache.log4j.PatternLayout

log4j.appender.fslLog.layout.ConversionPattern=[quartz2.2.1][%-5p] %d{yyyy-MM-dd HH\:mm\:ss} -- %t %m%n

# logger

log4j.logger.com.icss.ProjectTemplate=INFO

log4j.logger.com.chinasofti.ro=INFO

log4j.logger.jdbc.sqlonly=OFF

log4j.logger.jdbc.sqltiming=OFF

log4j.logger.jdbc.audit=OFF

log4j.logger.jdbc.resultset=OFF

log4j.logger.jdbc.connection=OFF

3,在任意java中想调用日志时:

LogSelf.fslLog.info("今天日期是 " + new Date());

4,测试结果:

[quartz2.2.1][INFO ] 2014-06-27 17:37:28 -- main 今天日期是:Fri Jun 27 17:37:40 CST 2014
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: