NutzCN Logo
问答 log4j2 打印不出日志
发布于 2182天前 作者 佐蓝 6173 次浏览 复制 上一个帖子 下一个帖子
标签:

maven 引入 和 log4j2.xml 如下,找半天没有结果,求救啊

        <!-- log4j2 的核心包 -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.6</version>
        </dependency>
        <!-- 将log4j 1.x 的调用路由到 Log4j 2.x 上, nutz中的适配器目前支持Log4j 1.x版本,所以需要通过桥接来使用 Log4j 2.x -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-1.2-api</artifactId>
            <version>2.6</version>
        </dependency>
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="info" packages="com.nari.nwims.smspusher">
    <properties>
        <!-- 控制台输出日志格式 -->
        <property name="patterns.console">%d %-5p [%t] %C{1} - %m%n</property>
        <!-- 日志文件输出日志格式 -->
        <Property name="patterns.file">%d %-5p [%t] %C - %m%n</Property>
        <!-- 日志文件大小 -->
        <Property name="file.size">50 MB</Property>
        <!-- 日志文件最大个数 -->
        <Property name="file.maxIndex">10</Property>

    </properties>

    <appenders>
        <console name="console" target="SYSTEM_OUT">
            <!--这个都知道是输出日志的格式-->
            <PatternLayout pattern="${patterns.console}"/>
        </console>
        <routing name="routing">
            <routes pattern="$${thread:threadName}">
                <route>
                    <rollingFile name="logFile-${thread:threadName}"
                                 fileName="log/${thread:threadName}.log"
                                 filePattern="log/$${date:yyyy-MM}/${thread:threadName}-%d{MM-dd-yyyy}-%i.log.gz">
                        <patternLayout pattern="${patterns.file}"/>
                        <policies>
                            <sizeBasedTriggeringPolicy size="${file.size}"/>
                        </policies>
                        <defaultRolloverStrategy max="${file.maxIndex}"/>
                    </rollingFile>
                </route>
            </routes>
        </routing>
        <async name="async" bufferSize="1000" includeLocation="true">
            <appenderRef ref="routing"/>
            <appenderRef ref="console"/>
        </async>
    </appenders>
    <loggers>
        <logger name="com.nari.nwims.smspusher" level="debug"/>
        <logger name="org.nutz" level="info"/>
        <root level="debug">
            <!--<appenderRef ref="async" />-->
            <appenderRef ref="console"/>
            <appenderRef ref="routing"/>
        </root>
    </loggers>
</configuration>
24 回复

提示走log4j2没

只有下面两行日志
log4j:WARN No appenders could be found for logger (org.nutz.resource.Scans).
log4j:WARN Please initialize the log4j system properly.

log4j 1.2的依赖没清理干净

请问怎么清理啊,百度不到相关的文章

pom.xml里面

看了依赖关系图,没有其他包依赖 log4j-1.2-api 了,不过看到 nutz 也没依赖 log4j-1.2-ap。

不是log4j-1.2-api,是log4j

依赖关系里没有,然后在每个包下面都加了这个, 还是出不来


log4j
log4j

 <exclusions>
                <exclusion>
                    <artifactId>log4j</artifactId>
                    <groupId>log4j</groupId>
                </exclusion>
            </exclusions>

搜索一下org.apache.log4j.Logger类,看看有多少个,分别来自哪里

没有搜到这个,项目没用到log4j

肯定有啊,起码log4j-1.2-api里面就有一个

搜出5个,都是druid用到了

怎么搜的,不是双击shift吗?

ctrl+shift+f了= =,双击shift之后搜出来好多

打包成war,看看有什么jar在里面

不是页面,打了个jar,用到了下面这些
common-utils-0.0.1.jar
commons-codec-1.4.jar
commons-io-2.5.jar
commons-lang-2.6.jar
disruptor-3.3.6.jar
druid-1.0.18.jar
ediClient-2017-02-17.jar
fastjson-1.2.38.jar
guava-19.0.jar
hamcrest-core-1.3.jar
jconsole-1.8.0.jar
junit-4.11.jar
log4j-1.2-api-2.6.jar
log4j-api-2.6.jar
log4j-core-2.6.jar
nutz-1.r.65.jar
ojdbc6-11.2.0.4.0.jar
smspfm-socket-0.0.3.jar
tools-1.8.0.jar

"不是页面"是啥意思

是不是jconsole-1.8.0.jar里面有log4j的类

逐个打开检查一下

谢谢兽总,找到了,是ediClient-2017-02-17.jar里面有一模一样的,写这个jar的人把log4j整个复制进去了。。

果然好坑,ediClient是啥功能的jar?

包装好连activeMq的

添加回复
请先登陆
回到顶部