log4j获得日志文件输出路径


public class Log4jManagerImpl implements LogManager {
    private static final String FILE_APPENDER_ID = "D";

    private static FileAppender getFileAppender() {
        Appender appender = Logger.getRootLogger()
                .getAppender(FILE_APPENDER_ID);

        return (appender instanceof FileAppender ? (FileAppender) appender
                : null);
    }

    public String getLogFile() {
        return getFileAppender() == null ? null : getFileAppender().getFile();
    }
}

 

 

参考:http://bbs.gimoo.net/thread/110551-1.html  9楼的回复:

 

import java.io.File;
import org.apache.log4j.Appender;
import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Logger;
public class DcsLog {
// protected transient Log logger = LogFactory.getLog(getClass());
protected transient Logger logger = Logger.getLogger(getClass());
private static DcsLog instance;
private static final String FILE_APPENDER_ID = "R";
private DcsLog() {
}
public synchronized static DcsLog getInstance() {
if (instance == null) {
instance = new DcsLog();
}
return instance;
}
public Appender getFileAppender() {
DailyRollingFileAppender appender = (DailyRollingFileAppender) Logger
.getRootLogger().getAppender(FILE_APPENDER_ID);
return appender;
}
public File getFile() {
return new File(((DailyRollingFileAppender) getFileAppender())
.getFile());
}
public static void main(String[] args) {
DcsLog o = DcsLog.getInstance();
System.out.println(o.getFile().getName());
System.out.println(o.getFile().getAbsolutePath());
}
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值