log4j使用疑惑
用log4j输出日志文件。
多线程运行时,每个线程的日志都写到一个文件中了,很混乱。
有办法在运行时指定输出的文件名吗
------解决方案--------------------oo神奇阿 厉害阿阿阿
------解决方案--------------------1、配置log4j的配置文件
#log4j.properties配置
log4j.rootLogger=ALL, A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=C:/log4j/TEST.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
2、java中重新设置输出文件
import org.apache.log4j.DailyRollingFileAppender;
import
org.apache.log4j.Logger;
public class SetLogFileName {
public SetLogFileName(String filename){
DailyRollingFileAppender appender = (DailyRollingFileAppender)Logger.getRootLogger().getAppender("A1");
appender.setFile( "c:/log4j/"+filename+".log");//动态地修改这个文件名
appender.activateOptions();
}
}
3、调用log4j输出文件
import org.apache.log4j.Logger;
public class OutPutLog {
static Logger logger = Logger.getLogger(OutPutLog.class);
/**
* @param args
*/
public static void main(String[] args) {
SetLogFileName D = new SetLogFileName("trust");
// TODO Auto-generated method stub
logger.info("PIG");
}
}
------解决方案--------------------新手同问。。
------解决方案--------------------给你个例子把,希望能帮到你
/*
* 文 件 名: Logger.java
* 版 权:
* 描 述: <描述>
* 修 改 人:
* 修改时间: 2012-12-25
* 修改内容: <修改内容>
*/
import java.io.File;
import
java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import cn.com.newdt.travelitinerary.vo.LogType;
/**
* <日志控制类>
* <完成日志输出>
*
* @author
* @see [相关类/方法]
* @since [产品/模块版本]
* 日志输出到服务器D盘''文件夹下,
* 并且根据系统日期每天都会生成对应的终端日志文件
*
*/
public class LoggerUtil{
/** 存放的文件夹 **/
private static String file_name = "日志";
/**
* 得到要记录的日志的路径及文件名称
* @return
*/
private static String getLogName(String terminalNo,String type) {
StringBuffer logPath = new StringBuffer();
logPath.append("D:\\"+file_name);
File file = new File(logPath.toString());
if (!file.exists())