1

私は Java ロギング構成にあまり詳しくありませんが、基本的には、ラッパー構成ファイルを使用して Java アプリを実行する場合と同じように、アプリのロギングを機能させたいと考えています。

wrapper.logfile.rollmode=DATE
wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=/home/logs/wrapper_YYYYMMDD.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=FINER
wrapper.logfile.maxsize=1m
wrapper.logfile.maxfiles=0

これは、典型的な logging.properties ファイルとはかなり異なるようです。

java.util.logging.FileHandler.pattern = logs/java%u.log
java.util.logging.FileHandler.limit = 100000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

同じものを簡単に手に入れる方法はありますか?ラッパーがロガーの内部構成にどのようにマップされるのか、少し混乱しています。

4

1 に答える 1

2

デフォルトの Java Logger とTanuki Service Wrapperの比較について質問している場合は、リンゴとオレンジを比較しています。Tanuki サービス ラッパーは、実際には独自のログ システムを実装しています... C (ログ コードのヘッダー ファイル) で。したがって、実際には Java ロギングとは何の関係もありません。

残念ながら、Java のデフォルトのロギング システム (java.util.loggingパッケージ) は、毎日のログ ローテーションをサポートしていません。この機能を追加するために未解決のバグがありますが、現在未解決です。バグ レポートには、これを行うカスタム ハンドラーを作成することは可能であると記載されていますが、それは大変な作業のように思われ、バグ レポートには、他のアプリケーションに干渉する可能性があると記載されています。

最も簡単な解決策は、別の実行可能な代替手段であるlog4jの後継であるLogbackを使用することです。これらのサードパーティ製のオープンソース ライブラリはいずれも、すぐに使える毎日のローリング ファイル アペンダー オプションを提供します。

たとえば、ドキュメントlogback.xmlから、各ファイルのサイズが最大 1 MB で、毎日ロールオーバーされるファイルにログを記録するように Logback を構成するファイルの例を次に示します。

<configuration>
  <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>mylog.txt</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- rollover daily -->
      <fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
      <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <!-- or whenever the file size reaches 1MB -->
        <maxFileSize>1MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
  </appender>


  <root level="DEBUG">
    <appender-ref ref="ROLLING" />
  </root>

</configuration>
于 2012-12-23T16:08:31.097 に答える