zoukankan      html  css  js  c++  java
  • log4j配置每天生成一个日志文件

    首先需要配置web.xml里面:

     <servlet-name>log4j-init</servlet-name>
        <servlet-class>com.free.core.util.Log4j</servlet-class>
        <init-param>
          <param-name>log4j</param-name>
          <param-value>/WEB-INF/classes/logxml/log4j.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>

    之后需要写一个实现类

    package com.free.core.util;
    
    import java.io.File;
    import javax.servlet.http.HttpServlet;
    import org.apache.log4j.xml.DOMConfigurator;
    public class Log4j extends HttpServlet {
        private static final long serialVersionUID = -4046002537330149394L;
    
        public void init() {
            String path = this.getServletContext().getRealPath("/");
            String file = this.getInitParameter("log4j");
            String log4jPath = path + file;
            System.setProperty("home", path);
            DOMConfigurator.configure(log4jPath);
        }
    
    }

    logxml/log4j.xml配置deom:

    <!-- 输出到日志文件 按照文件大小 -->
        <appender name="log_roll" class="org.apache.log4j.DailyRollingFileAppender">
            <!-- 设置File参数:日志输出文件名 -->
            <param name="File" value="${home}/logs/SystemOut.log" />
            <!-- 在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为: -->
            <param name="datePattern" value="'.'yyyy-MM-dd" />
            <!-- 是否使用BufferedWriter进行包装,写入数据量到达bufferSize之后写入 -->
            <param name="bufferedIO" value="false" />
            <!-- 设置缓存大小 -->
            <param name="bufferSize" value="65536" /> 
            <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
            <param name="Append" value="false" />
            <!-- 设置文件大小 -->
            <param name="MaxFileSize" value="2000KB" />
            <!-- 设置文件备份 -->
            <param name="MaxBackupIndex" value="10" />
            <!-- 设置输出文件项目和格式 -->
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="[%p] [%d{yyyy-MM-dd HH:mm:ss}] [ Class = %C | Method = %M | Line = %L ] | MSG = %m |%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
                <param name="LevelMax" value="WARN" /> 
                <param name="LevelMin" value="TRACE" /> 
            </filter> 
        </appender>
  • 相关阅读:
    office 所有后缀对应的 content-type
    Vue 拖拽组件 vuedraggable 和 vue-dragging
    vue实现word,pdf文件的导出功能
    vue浏览器全屏实现
    对于js中事件冒泡的理解分析
    一个服务端的登录拦截
    ES6兼容ie9, flex兼容ie9
    webpack报错
    vue项目的一个package.json
    vue项目的构建过程
  • 原文地址:https://www.cnblogs.com/diandianquanquan/p/11496480.html
Copyright © 2011-2022 走看看