【解答】

日志各种用法说明.docx 文档中的内容主要有:增加自定义的loggerappender,修改日志输出文件,自定义日志文件,详情见文档内容

一、以构件包日志配置文件log4j-contribution.xml为例,展示:增加自定义的loggerappender,修改日志输出文件

所在构件包-配置- log4j-contribution.xml

A、在构件包-配置-log4j-contribution.xml中增加自定义的logger和appender:

   <appender class="com.primeton.ext.common.logging.AppRollingFileAppender" name="MYLOG_FILE">

      <param name="Encoding" value="UTF-8"/>

       <param name="File" value="d:/log/mylog.log"/>

       <param name="Append" value="true"/>

       <param name="MaxFileSize" value="10MB"/>

       <param name="MaxBackupIndex" value="10"/>

       <layout class="org.apache.log4j.PatternLayout">

                              <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%p][%C][Line:%L] %m%n"/>

                    </layout>

   </appender>

 

    <logger additivity="false" name="mylog">

        <level value="info"/>

        <appender-ref ref="MYLOG_FILE"/>

        <appender-ref ref="CONSOLE"/>

</logger>

说明:additivity:如果一个日志的父日志设定了Appender,而不想把日志输出到它的父日志的Appender上,那么additivity就要设为false,否则就是true。

 

B、在Java类中:

import com.eos.runtime.core.TraceLoggerFactory;

import com.eos.system.logging.Logger;

//第一个参数:构件包全名,第二个参数:日志配置文件中的LoggerName

Logger log = TraceLoggerFactory.getContributionTraceLogger(

                                        “com.primeton.logdemo”, “mylog”);

log.info("根据构件包和loggerName打印日志");

 

appender中配置的File,本示例是d:/log/mylog.log

注意:日志配置完重启服务前,要保证所配置的日志输出文件所在的目录存在。本例要保证D盘下有log文件夹。

可以将业务日志记录在不同的文件中;每个构件包的日志配置可以集中在一个构件包的日志配置文件中。

 

二、自定义日志配置文件

自定义的日志配置文件

A、参考EOS自带的日志配置文件,或者Log4j编写自定义的日志配置文件。

 

B、自定义的日志配置文件可以放在某一个目录中,也可以创建在某一个构件包下面的运算- Java中,会自动部署到apache-tomcat-7.0.54/webapps/[应用]/WEB-INF/classes中。

 

C、 在Java类中:

import com.eos.system.logging.LogRepository;

import com.eos.system.logging.Logger;

//创建日志仓库,参数:自定义的日志配置文件

//不带路径,会从apache-tomcat-7.0.54/webapps/[应用]/WEB-INF/classes中读取

//带路径,可以写成"d:/testlog.xml"

          LogRepository re =  LogRepository.create("testlog.xml");

    //日志配置文件中的LoggerName

          Logger log = re.getLogger("testlog");

log.info("testlog仓库");

 

appender中配置的File。

可以用自定义的日志配置文件。