Log4j中陈设日志文件相对路线

2019-06-22 01:39 来源:未知

在发轫化Web应用中的全数Filter和Servlet在此之前文告ServletContextListener关于上下文开头化新闻。那么能够品尝在contextInitialized()方法中来完毕log4j配置普通话件的路径设置和配备文件初阶化。

韦德国际1946官网 1

            FileInputStream istream = new FileInputStream(filePath);

Hibernate配置Log4j显示SQL参数 http://www.linuxidc.com/Linux/2013-03/81870.htm

    @Override

Log4j学习笔记(1)_Log4j 基础&配置项深入分析 http://www.linuxidc.com/Linux/2013-03/80586.htm

log4j.rootLogger=INFO, FILE

只顾:上边的load-on-startup设为0,以便在Web容器运营时即装入该Servlet。log4j.properties文件放在根的properties子目录中,也足以把它放在其余目录中。应该把.properties文件集中存放,那样方便管理。
(3).log4j.properties中就能够配置log4j.appender.file.File为当前选取的相对路径.

            System.out.println("Could not read configuration file [" filePath

方法一、 解决的不二法门自然是用相对路径替代相对路线,其实log4j的FileAppender本人就有这么的编写制定,如:log4j.appender.logfile.File=${WO汉兰达KDILacrosse}/logs/app.log
内部“${WOPAJEROKDI凯雷德}/”是个变量,会被System Property中的“WO逍客KDIOdyssey”的值代替。那样,大家就足以在log4j加载配置文件在此以前,先用System.setProperty ("WO帕杰罗KDI宝马X3", WO福睿斯KDICRUISER);设置好根路线,此操作可经过一开首的servlet进行。

        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

Log4j学习笔记(2)_Log4j配置示范&Spring集成Log4j http://www.linuxidc.com/Linux/2013-03/80587.htm

3.起动web应用将不存在“log4j中配备日志文件相对路线”那篇作品最终提到的难点。

        public void init(ServletConfig config) throws ServletException {
            String prefix = config.getServletContext().getRealPath("/");
            String file = config.getInitParameter("log4j");
            String filePath = prefix file;
            Properties props = new Properties();
            try {
                FileInputStream istream = new FileInputStream(filePath);
                props.load(istream);
                istream.close();
                //toPrint(props.getProperty("log4j.appender.file.File"));
                String logFile = prefix props.getProperty("log4j.appender.file.File");//设置路线
                props.setProperty("log4j.appender.file.File",logFile);
                PropertyConfigurator.configure(props);//装入log4j配置音信
            } catch (IOException e) {
                toPrint("Could not read configuration file [" filePath "].");
                toPrint("Ignoring configuration file [" filePath "].");
                return;
            }
        }

Hibernate配置Log4j显示SQL参数 http://www.linuxidc.com/Linux/2013-03/81870.htm

方法三、通过servlet起首化init()方法中加载file属性达成相对路线
切切实实落到实处:做二个servlet,在系统加载的时候,就把properties的文件读到一个properties文件中.那个file的属性值(作者利用的是相对目录)改掉(前边加上系统的根目录),让后把那几个properties对象设置到propertyConfig中去,那样就初叶化了log的设置.在前面包车型地铁应用中就用不着再布局了
诚如在我们开采品种经过中,log4j日志输出路径固定到某些文件夹,那样一旦本身换二个情形,日志路线又须要再行修改,比较不便于,方今自小编利用了动态退换日志路线方法来贯彻相对路径保存日志文件
(1).在类型运行时,装入开始化类:
public class Log4jInit extends HttpServlet {
        static Logger logger = Logger.getLogger(Log4jInit.class);
        public Log4jInit() {
        }

            props.setProperty("log4j.appender.FILE.File", logFile);

 

上边配置了log4j配置文件相对应项目路径的渠道和ServletContextListener达成类。当然这里的context-param是还是不是必要设置可以依照Log4jListener类中传说使用景况而定。

办法二、能够运用服务器遭遇变量
log4j的配备文件帮忙服务器的vm的蒙受变量,格式类似${catalina.home}
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/logs_tomcat.log
log4j.appender.R.MaxFileSize=10KB
里面包车型地铁${catalina.home}并非windows系统的情状变量,那些遭逢变量就无需在Windows系统的境遇变量中装置。之所以这么,你能够看看tomcatbincatalina.bat(startup,shutdown都以调用这几个)里面自带有-Dcatalina.home= "

TAG标签: 韦德娱乐1946
版权声明:本文由韦德娱乐1946_韦德娱乐1946网页版|韦德国际1946官网发布于韦德国际1946官网,转载请注明出处:Log4j中陈设日志文件相对路线