当前位置: 首页 > 知识库问答 >
问题:

ESAPI记录器无法打印方法名称

邹俊拔
2023-03-14

我正在使用ESAPI记录器和log4j提供的记录器。用于配置的xml文件。我成功地打印了日志消息(只是一个带有main方法的平面java程序)

import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Logger;

public class App {

    static private final Logger logger = ESAPI.getLogger(App.class.getName());

    public static void main(String[] args) {
        logger.error(Logger.SECURITY_FAILURE, "This is error in case of security failure");
    }
}

我的log4j.xml文件如下所示

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration threshold="null"
    xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <appender name="FILE_APPENDER" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="logs/sample.log" />
        <param name="Append" value="true" />
        <param name="Threshold" value="DEBUG" />
        <param name="MaxFileSize" value="5MB" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d,%-5p, %M, %m%n" />
        </layout>
    </appender>
    <root>
        <priority value="DEBUG" />
        <appender-ref ref="FILE_APPENDER" />
    </root>
</log4j:configuration>

我正在使用这些ESAPI.properties和validation.properties

问题是%M(用于模式布局)没有打印写日志消息的方法的名称。%M总是打印“log”(org . owasp . esapi . logger中的方法)。我如何在这里打印方法名(这里是main)。我尝试从不同的方法写日志,但它打印的是“日志”而不是方法名。

共有1个答案

关志勇
2023-03-14

这是 ESAPI 中的一个已知错误,我之前已将其报告为问题 #268。一种解决方法是修改 ESAPI 源代码。

看见https://code.google.com/p/owasp-esapi-java/issues/detail?id=268.

 类似资料:
  • 我尝试在A4纸上以横向打印JavaFX WebView (JavaFX 8_25)中的HTML页面,但它以纵向打印出来,字体很小 系统输出显示纵向方向 纸张=纸:A4 (210 x 297mm) 尺寸=594.90087890625x841.3598022460938 MM 东方=纵向左边缘=54.0 右边缘=54.0 顶部边缘=54.0 底部边缘=54.0 我发现以横向模式打印HTML页面的唯一

  • 在我当前的项目中,我正在使用Maven和Spring。我目前正在使用SLF4J记录器来记录服务。代替它,我想使用OWASP-ESAPI记录器。我不想使用安全性,只是日志服务。有人能指导我如何使用记录器,用最少的努力替换slf4j记录器吗?我尝试了很多谷歌搜索,但没有任何帮助。我也会非常感谢一些链接来获得有关记录器的知识。

  • 我目前有log4j配置了一个XML配置文件,它有两个附录,“文件”和“电子邮件”。这两个都正常工作,但是我不想发送电子邮件给ESAPI内部产生的错误,所以我在XML文件中放入了一个新的记录器。记录器的完整列表是: 然而,这不起作用。我仍然会收到ESAPI中生成的错误的电子邮件(特别是org.owasp.esapi.reference.Log4JLogger类)。 我还尝试过使用“org.owasp

  • 问题内容: 我想重写我的日志记录类,我想知道如何在一个快速文件中替换 PRETTY_FUNCTION 或NSStringFromSelector(_cmd)以便跟踪方法调用? 问题答案: 查看我刚刚发布的新库:https://github.com/DaveWoodCom/XCGLogger 这是Swift的调试日志记录库。 能够使用宏的关键是将它们设置为日志记录功能的默认值。然后,编译器将使用期望

  • 我是Jmeter的新手。录音时我遇到了以下错误。请帮助我 错误: java.net.UnknownHostException:www.gstatic.com 在org . Apache . jmeter . protocol . http . sampler . httph C4 impl . executerequest(httph C4 impl . Java:939)在org . Apach

  • 我正在尝试通过使用 ESAPI 覆盖()来覆盖 ESAPI OWASP 库中的现有方法。不知何故它不起作用,你知道为什么吗? 这是我的代码: