2017-11-01 10 views
0

Logbackを使用してアプリケーションにログインしています。私はHTMLLayoutを使用していますが、msgはすでにフォーマットされていますが、msgをフォーマットしたmsgが表示されていないlogbakを出力すると、


logbackマイコードは:LobackがHtmlタグを受け付けていません

<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要求:ユーザー:不明 - パス:​​リゾート - ヘッダ:{ホスト= [ローカルホスト:8022]、接続= Mozilla/5.0(X11; Linux x86_64)AppleWebKit/537.36(GeckoのようなKHTML)Chrome/60.0.3112.78 Safari/537.36]、cache-control [キープアライブ]、content-length = [795] = [no-cache]、origin = [chrome-extension:// fhbjgbiflinjbdggehcddcbncdddomop]、content-type = [application/json]、認可= [g8mm505be952dc27b7hofgaa0la1]、postman-token = [21c3aba1-9629-93
エンティティ:{"url":527d6b-25c2dcbc3eaf]、accept = [/]、accept-encoding = [gzip、deflate、br]、受け入れ言語= [pt]、authToken = [g8mm505be952dc27b7hofgaa0la1] "sdfbgs"、 "動画":ヌル、 "serviceIds":ヌル、 "緯度": ""、 "経度": ""、 "isPublished":偽}私はいくつか削除した


jsonのキーと値のペアは、理解するための混乱を招く可能性があります。そして、 'HTTP REQUEST:'の後にhtmlタグの先頭を追加し、そのタグの終わりをメッセージの最後に置きます。

+0

あなたの質問に「私のメッセージはすでにフォーマットされています」と書かれていますが、ログに記録しようとしているメッセージの**例**を含めるように質問を更新できますか? – glytching

+0

質問を例文で更新しました。 – Vivek

答えて

0

私自身の質問に答える。

ログバックライブラリでHTMLLayoutクラスを拡張するJavaクラスHTMLLayoutを使用して完成しました。

次に、logback.xmlファイルのクラスパスを指定します。

私はthisに続いてHTMLLayoutクラスを作成しました。より正確には、提供されたリンクの61行目で、preタグを使用して私の問題を解決しました。

関連する問題