Java log4j.additivity取消日志继承为何无效

log4j1日志继承说明: 略.

简短说明问题原因: "log4j.additivity"后边跟的包路径必须和另一项配置"log4j.logger"后边跟的包路径能对上, log4j不会分析你的项目的包结构.

  例如:考虑取消com.game.gmActivation.logger包下的几个logger的继承关系, 只输出到指定路径的日志里, 错误的配置是只写一条父级包路径配置:

    # 以下包路径的日志取消继承

    log4j.additivity.com.game.gmActivation.logger=false

    ##行为日志定向配置
    log4j.logger.com.game.gmActivation.logger.gameCurrency=INFO,gameCurrencyLog
    log4j.logger.com.game.gmActivation.logger.onlineRoleNum=INFO,onlineRoleNumLog
    log4j.logger.com.game.gmActivation.logger.itemBuy=INFO,itemBuyLog
    log4j.logger.com.game.gmActivation.logger.zuanshiUse=INFO,zuanshiUseLog
    log4j.logger.com.game.gmActivation.logger.gameSysActive=INFO,gameSysActiveLog

  

正确的配置为列举全部配置, 一一对应. 

    # 以下包路径的日志取消继承
    log4j.additivity.com.game.gmActivation.logger.gameCurrency=false
    log4j.additivity.com.game.gmActivation.logger.onlineRoleNum=false
    log4j.additivity.com.game.gmActivation.logger.itemBuy=false
    log4j.additivity.com.game.gmActivation.logger.zuanshiUse=false
    log4j.additivity.com.game.gmActivation.logger.gameSysActive=false
    ##行为日志定向配置
    log4j.logger.com.game.gmActivation.logger.gameCurrency=INFO,gameCurrencyLog
    log4j.logger.com.game.gmActivation.logger.onlineRoleNum=INFO,onlineRoleNumLog
    log4j.logger.com.game.gmActivation.logger.itemBuy=INFO,itemBuyLog
    log4j.logger.com.game.gmActivation.logger.zuanshiUse=INFO,zuanshiUseLog
    log4j.logger.com.game.gmActivation.logger.gameSysActive=INFO,gameSysActiveLog

欢迎留言指正.

时间: 2024-10-24 01:48:13

Java log4j.additivity取消日志继承为何无效的相关文章

JAVA log4j日志文件使用

//1.导入jar包,log4j-1.2.17.jar//2.src下创建log4j.properties文件//3.配置properties文件/*log4j.rootLogger(默认是对整个工程生效)=DEBUG,stdout(控制台),a, b, -日志级别(ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF)log4j.logger.com.hutu=info, stdout,表示该日志只对package com.hutu生效 log4j.

java log4j基本配置及日志级别配置详解

java log4j日志级别配置详解 1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis.rabbitMQ.SSM框架的相关面试题以及自己做过的一些项目回顾,信心满满地去面试,结果别人一上来就问到了最近项目使用的日志系统是什么?日志级别是怎么配置的?当时我都蒙X了,平时都是项目经理搭的,我自己也是随便上网一搜往配置文件一黏贴就OK了.我就这么说完后面试官深深定了我一眼,当时我的内心羞愧到...... 1.2 闲话少说,讲讲日志的发展故事(如果已经了解的

[Java][log4j]支持同时按日期和文件大小分割日志

根据DailyRollingFileAppender和RollingFileAppender改编,支持按日期和文件大小分割日志. 源文件: Java代码   package com.bao.logging; import java.io.File; import java.io.IOException; import java.io.Writer; import java.text.SimpleDateFormat; import java.util.Calendar; import java.

Java日志使用slf4j 配置log4j后,有日志文件 但日志文件内容为空

SLF4J的全称是Simple Logging Facade for Java,即简单日志门面. SLF4J并不是具体的日志框架,而是作为一个简单门面服务于各类日志框架,如java.util.logging, logback和log4j. SLF4J支持{}作为占位符,等价于C语言中的%s,而不必再进行字符串的拼接,效率有显著的提. 1.slf4j使用 引入包 slf4j-api-1.6.2.jar import org.slf4j.Logger; import org.slf4j.Logger

Log4j指定输出日志的文件

在Log4j的配置文件中,有一个log4j.rootLogger用于指定将何种等级的信息输出到哪些文件中, 这一项的配置情况如下: log4j.rootLogger=日志等级,输出目的地1,输出目的地2,... 日志等级可以是ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF,一般主要都是使用DEBUG, INFO, WARN, ERROR这四项. 指定日志等级后,可以指定日志输出的目的地,这个目的地可以是任意的符合命名规则的名字,给出这些名字后,会在后面对这些名

log4j+slf4j管理日志项目迁移logback+slf4j

作为一个刚踏入java语言的小学生,最近被安排了一个任务,原有的项目中使用的是log4j日志管理 要转换成logbacak的日志管理.介于之前并未深究log4j和logback日志,所以做起来也很是头疼,不得不查询资料问别人,才勉强完成,所以记录一下从头的步骤,以供别人参考,有不对地方还请大神斧正. 首先提供一下log4j和slf4j以及logback的关系图 第一步:我们项目是log4j+转slf4j管理的,要替换成logback,所以需要删除掉log4j和slf4j-log4j12的所有ja

ibatis配置log4j输出sql日志信息

为了在开发过程更加直观,我们需要将ibatis日志打开以便观察ibatis运作的细节. ibatis采用Apache common_logging,并结合Apache log4j作为日志输出组件. 在CLASSPATH中新建log4j.properties配置文件,内容如下: log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layo

mybatis结合log4j打印SQL日志

1.Maven引用jar包 默认的mybatis不能打印出SQL日志,不便于查看调试,须要结合log4jdbc-log4j2就能够完整的输入SQL的调试信息. pom.xml 配置maven.注意以下3个都须要 <dependency> <groupId>org.bgee.log4jdbc-log4j2</groupId> <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId> <version&g

ELKstack-基于java工程tomcat应用日志处理过程-01

前言 ELKstack抓取分析应用日志的前提是开发要将日志的输出格式改成json格式,否则产出的日志很难进行分析. 主要流程: tomcat通过log4j输出日志-->  logstash接收数据并发送到redis -->  logstash从redis获取数据并写入es tomcat怎样输出应用日志? tomcat7.0配置log4j日志 详细文档http://tomcat.apache.org/tomcat-7.0-doc/logging.html 一.创建log4j.properties