如何配置 log4j.xml 以获取“javax.net.debug”的调试信息

use*_*773 5 java debugging log4j

我想获取 LDAP 连接 ssl 握手调试信息,所以我设置系统属性“javax.net.debug”值“ssl,handshake”,如下所示:

System.property("javax.net.debug" , "ssl,handshake"); 但是我没有得到ssl调试信息。在我的项目中,使用log4j.xml来控制调试信息,所以我想知道如何配置log4j.xml来获取“javax.net.debug”的调试信息?谢谢你的帮助!

Bim*_*Jha 5

javax.net包内的类不会写入Log4J appenders(事实上​​它们根本不使用 Log4J 库)。最可能的是他们会输出调试消息STDOUTSTDERR正在运行的Java程序的流。将这些流重定向到磁盘上的文件,然后您可以将这些消息记录在文件中。如果您正在使用某些服务器(例如 Tomcat 或 JBoss),请阅读有关如何控制来自这些进程的 I/O 流的服务器文档。

Log4j.xml 这里无关。

编辑:如果您使用的是 Tomcat(或 Jboss),那么您可能需要检查ConsoleAppenderin的日志阈值log4j.xml。默认情况下,它被设置为INFO并重定向到console.log日志目录中的文件。


Man*_*lon -1

您配置了记录器吗?(除了您的 System.property)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n" />
        </layout>
    </appender>
    <appender name="file" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="/var/opt/log/mylogs.log" />
        <param name="maxBackupIndex" value="5" />
        <param name="maxFileSize" value="5MB" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{dd/MMM/yyyy HH:mm:ss} %-5p %C{2}.%M - %m%n" />
        </layout>
    </appender>

    <logger name="javax.net.debug">
        <level value="DEBUG" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="file" />
    </logger>

</log4j:configuration> 
Run Code Online (Sandbox Code Playgroud)

  • `javax.net` 类不使用 `Log4j` 记录器 API。您无法像这样控制其日志行为。 (3认同)