log4j根据不同模块配置

时间:2021-06-22 21:54:43

log4j.properties文件:

#收发服务器错误
#模块输出日志等级
log4j.logger.rsServer_ERROR=ERROR ,rsServer_ERROR
#表示每天生成一个日志文件 每月生成需要依赖它的配置
log4j.appender.rsServer_ERROR=org.apache.log4j.DailyRollingFileAppender
#日志存放路径(logs)及名称(rsServerError)
log4j.appender.rsServer_ERROR.File=../logs/rsServerError
#指定每月生成日志文件
log4j.appender.rsServer_ERROR.DatePattern = '('yyyy-MM').log'
#指定该日志等级
log4j.appender.rsServer_ERROR.Threshold=ERROR
#制定日志信息为追加 不是覆盖
log4j.appender.rsServer_ERROR.Append=true
#表示日志布局为*布局,可以指定日志信息格式
log4j.appender.rsServer_ERROR.layout=org.apache.log4j.PatternLayout
#指定日志信息格式为 年-月-日 时:分:秒 :日志信息
log4j.appender.rsServer_ERROR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:%m%n
#收发服务器警告
log4j.logger.rsServer_WARN=WARN ,rsServer_WARN
log4j.appender.rsServer_WARN=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rsServer_WARN.File=e:/logs/rsServerWarn
log4j.appender.rsServer_WARN.DatePattern = '('yyyy-MM').log'
log4j.appender.rsServer_WARN.Threshold=WARN
log4j.appender.rsServer_WARN.Append=true
log4j.appender.rsServer_WARN.layout=org.apache.log4j.PatternLayout
log4j.appender.rsServer_WARN.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:%m%n

获取log工具类

package bcommon;

//第三方(公共)
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

/**
* 类说明:日志工具类<br>
*/

public class LogUtil {

/**
* 警告日志方法
* @param warningMsg警告信息
* @param modelName 模块名称
* @param className 类名
* @param methodName方法名
*/

public void recordWarningLogs(String warningMsg,String modelName,String className,String methodName){

PropertyConfigurator.configure(getClass().getResource("/").getPath()+"bcommon/log4j.properties");
Logger logger = Logger.getLogger(modelName.trim()+"_WARN");
logger.warn(warningMsg+"类名:"+className+" 方法名:"+methodName);
}

/**
* 错误信息方法
* @param errorMsg 错误信息
* @param modelName 模块名称
* @param className 类名
* @param methodName 方法名
*/

public void recordErrorLogs(String errorMsg,String modelName,String className,String methodName){

PropertyConfigurator.configure(getClass().getResource("/").getPath()+"bcommon/log4j.properties");
Logger logger = Logger.getLogger(modelName.trim()+"_ERROR");
logger.error(errorMsg+"类名:"+className+" 方法名:"+methodName);
}
}

Test.java

    private void test(){
try {
System.out.println(5/0);
} catch (Exception e) {
System.out.println("警告信息");
LogUtil logUtil=new LogUtil();
logUtil.recordWarningLogs("警告信息", "rsServer", "Test2Ser", "doGet");
}
}