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

Loback不接受Html标记

戚飞虎
2023-03-14

我正在使用Logback登录我的应用程序。我使用的是HTMLLayout,我的msg已经格式化,但当logbak打印该msg时,它不会显示格式化的msg


我的logback代码是:

    <appender name="INFO-HTML"
class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>INFO</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
        <layout class="ch.qos.logback.classic.html.HTMLLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss}%level%msg</pattern>
        </layout>
    </encoder>
    <file>${TOMCAT_ROOT}/infolog.html</file>
    <append>true</append>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${LOG_FOLDER}/archived/infolog.%d{yyyy-MM-dd}.%i.html</fileNamePattern>
        <maxHistory>1</maxHistory>
        <totalSizeCap>1MB</totalSizeCap>
        <timeBasedFileNamingAndTriggeringPolicy
        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>1MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
</appender>

消息示例:

HTTP请求:User:unknown-Path:resorts-Header:{host=[localhost:8022],connection=[keep alive],content-length=[795],User-agent=[Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/60.0.3112.78 Safari/537.36],缓存控制=[no-cache],源代码=[Chrome]-extension://fhbjgbiflinjbdggehcddcbncdddomop],内容类型=[application/json],授权=[G8MM50BE952DC27B7HOFGA0LA1],邮递员令牌=[21c3aba1-9629-9352-7d6b-25c2dcbc3eaf],接受=[/],接受编码=[gzip,deflate,br],接受语言=[pt],authToken=[G8MM505BE952DC27B7HOFGA0LA1]}-
实体:{“url”:“SDFBG”,“videos”:null,“ServiceID”:null,“纬度”:“经度”:“IsPublised”:false}

我已经从json中删除了几个可能会造成理解混乱的键值对。我在“HTTP请求”之后添加了html开始标记,该标记的结尾放在消息的末尾。

共有1个答案

梁丘俊人
2023-03-14

回答我自己的问题

我使用Java类HTMLLayout完成它,它扩展了Logback库中的HTMLLayout类。

然后在文件中给出logback.xml类路径。

我按照这个创建了HTMLLayout类。更准确地说,在提供的链接的第61行,使用pre标记解决了我的问题。

 类似资料:
  • 我无法弄清楚为什么我的日志没有打印到 Logcat,直到我添加了一个标签。我在日志记录方面很懒惰,过去从未添加过标签。自从我做Android工作以来已经有一段时间了,所以我不确定它已经有多久了。为什么我不能再这样做了,有没有办法让它再次工作?我可以很容易地制作自己的方法来打印日志,但我正在寻找是否可以更改设置以使其像以前一样工作。

  • 问题内容: 在我的pom.xml中有以下详细信息 JSP页面: 控制器: 我正在以以下方式调用我的网址: 单击按钮后,它返回url,因为 http://lt-50k7sy1:8080/QuickBooks-UX/syncAccounts它返回406,描述为: 该请求标识的资源只能根据请求“接受”标头生成特性不可接受的响应 问题答案: 将以下jar添加到Spring 4.1。*所需的pom.xml文

  • 我正在使用tomcat v8,并试图通过RequestBody向我的REST API发送一个对象。这个REST API基本上是RequestMethod。这个API内部的逻辑是删除RequestBody中传递的对象。 这对我不起作用。我后来不得不将我的方法转换为POST,但我仍然想知道DELETE是否不接受RequestBody? 这是来自Spring框架或REST原则的限制,还是与我的Tomca

  • 下面,我有我试图使用的代码。它总是命中捕捉,返回空。月和日都是整数,它们已经过检查,以确保它们在现有日期内。不管怎样,我用“05”测试一个月,用“02”测试一天。由于某种原因, ##/## 输入不起作用吗? 编辑:我正在尝试格式化此输出,使其看起来像“May 02”。当我查看文档时,我看到页面的很大一部分专门用于格式化输出。为什么我的格式不是这样?

  • 问题内容: 我需要确保某个字段仅将数字作为值。输入的内容不是表单的一部分。因此它不会被提交,因此在提交期间进行验证不是一种选择。我希望用户无法输入数字以外的任何字符。 有没有一种巧妙的方法可以实现这一目标? 问题答案: HTML 5 您可以使用HTML5输入类型数字来限制仅数字输入: 这仅在HTML5投诉浏览器中有效。确保您的html文档的doctype为: 的JavaScript 更新: 为此,

  • 这是我的蓝图代码。 内部消息工作。 外部消息不工作。 我在docker中运行Red Hat AMQ 7和Fuse 7。内部消息队列在服务之间正常工作。 使用AMQ 6,当在activemq中设置时,我能够向61613上的嵌入式代理发送和接收STOMP消息。xml 现在,我正在使用AMQ 7.0的默认设置,它将接受程序设置为0.0.0.0:61616和61613,这两个接受STOMP协议。 但是相同