3

Logbackを使用するのはこれが初めてです-通常はlog4jを使用します-依存関係によって強制されました。

log4j.properties-->のオンラインコンバーターを使用しましたlogback.xml

アプリケーションを実行すると、最後に改行がないログ行の最初の 18 文字だけが取得されます。結果の出力は、コンソールとログ ファイルの両方で次のようになります。

16:32:00.537 (main16:32:00.537 (main16:32:00.537 (main16:32:00.537 
(main16:32:00.537 (main16:32:00.537 (main16:32:00.537 (main16:32:00.537 (main

一体何がこれを引き起こしているのでしょうか?

logback.xml は

<configuration>
  <appender name="xyzzy" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>xyzzy.log</File>
    <encoder>
      <charset>UTF-8</charset>
      <pattern>%d{HH:mm:ss.SSS} (%t) %-5p [%c{36}] - %msg%n</pattern>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>xyzzy.log.%d</fileNamePattern>
    </rollingPolicy>
  </appender>
  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <charset>UTF-8</charset>
      <pattern>%d{HH:mm:ss.SSS} (%t) [%c{36}] %msg%n</pattern>
    </encoder>
  </appender>
  <logger name="com.package" level="DEBUG"/>
  <logger name="org.apache.http.client.protocol.ResponseProcessCookies" level="ERROR"/>
  <root level="WARN">
    <appender-ref ref="xyzzy"/>
    <appender-ref ref="console"/>
  </root>
</configuration>
4

2 に答える 2

3

LOGBack はわかりませんが、ドキュメントによると、

(%t) 

する必要があります

[%t]

それはまさにあなたのパターンが壊れるポイントです...

次に試してみてください:

<pattern>%d{HH:mm:ss.SSS} [%t] %-5p [%c{36}] - %msg%n</pattern>

[...]

<pattern>%d{HH:mm:ss.SSS} [%t] [%c{36}] %msg%n</pattern>

残りはすべて問題ないと仮定して...

于 2013-03-27T16:53:16.230 に答える
3

logback では、パターン文字列内の括弧がグループ化トークンとして機能します。彼らはエスケープする必要があります。

于 2013-03-27T18:18:29.953 に答える