18

Log4netログをSyslogサーバーに取得する方法の設定例を探しています。どんな助けでも大歓迎です。

4

5 に答える 5

19

Simon Whittemoreのエントリはあまり役に立ちませんでした。これが、私のアペンダーが「適切な」syslogリモートメッセージを生成する理由です。

<appender name="RemoteSyslogAppender" type="log4net.Appender.RemoteSyslogAppender">
  <identity value="HepeManok" />
  <layout type="log4net.Layout.PatternLayout" value="%-5p %type: %m%n"/>
  <remoteAddress value="syslog.lameserver.net" />
</appender>

「キー」[原文のまま]は、正しい(または正しい見た目の)出力を生成するIDパラメーターです-私はDebian、YMMVでrsyslogを使用しています。

syslogdがサーバーのタイムゾーンを使用して日付を追加するため、(Simon Whittemoreのブログのように)日付を送信する必要はありません

log4net対応アプリから受信したメッセージと、それに続く実際のメッセージは次のとおりです。

Jun 21 09:58:40 vs2008.local HepeManok: INFO  Irc: irc_OnConnected
Jun 21 09:42:45 chips30 kernel: [10210014.974069] device eth0 entered promiscuous mode

ご覧のとおり、「日時ホストサービス:メッセージ」の基本的な形式は、

Jun 21 09:38:57 WARN  Irc [(null)] - OnQuit#015

または、Simonの構成が生成するものの例:

Jun 21 09:56:42 Hepe Manok.vshost.exe: 21/06/2012 07:54:44,828 | 6 | INFO | Irc | WIN-2008-DEV\Administrator | WIN-2008-DEV | dev | irc_OnConnecting |  | 
于 2012-06-21T10:09:16.957 に答える
10
<appender name="UdpAppender" type="log4net.Appender.UdpAppender">
      <param name="RemoteAddress" value="127.0.0.1" />
      <param name="RemotePort" value="514" />
      <layout type="log4net.Layout.PatternLayout, log4net">
        <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
</appender>
于 2010-01-06T09:11:53.433 に答える
6

下位レベルのUDPアペンダーを使用する代わりに、log4net.Appender.RemoteSyslogAppenderを試すことができます。例は、SimonWhittemoreのブログエントリLog4Netを介した集中型アプリケーションロギングにあります。

<appender name="RemoteSyslogAppender" type="log4net.Appender.RemoteSyslogAppender">
  <layout type="log4net.Layout.PatternLayout" value="%date{dd/MM/yyyy hh:mm:ss,fff} | %thread | %level | %logger | %username | %P{log4net:HostName} | dev | %message | %exception | "/>
  <remoteAddress value="LOGSERVER" />
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="ALL" />
  </filter>
</appender>
于 2012-01-19T09:03:23.293 に答える
3

syslog4netを試してみることもできます。syslog4netは、SyslogのRFC5424標準形式でメッセージを書き込むカスタムlog4netレイアウトを作成することによって機能します。次に、それを任意のlog4netアペンダーに接続できます。SyslogLayoutクラスをlog4netのUdpAppenderまたはsyslog4netのカスタムTcpAppenderに接続することで、Syslogデーモン、splunk、または任意のマシンデータアグリゲーターに非常に簡単に書き込むことができます。

ドキュメント、使用法、および例は、プロジェクトのgithubサイトで入手できます。

于 2014-02-28T13:43:16.687 に答える
2

サーバーがsyslog-ngを実行しているubuntuサーバーにログを記録しています。ホスト名を正しく表示するために、私はこれを使用しました:

  <appender name="RemoteSyslogAppender" type="log4net.Appender.RemoteSyslogAppender">
    <facility value="local7" />
    <identity value=" %date{yyyy-MM-ddTHH:mm:ss.ffffffzzz} %P{log4net:HostName} %P{app}" />
    <RemoteAddress value="192.168.1.248" />
    <layout type="log4net.Layout.PatternLayout" value="&#9;%P{pid}:%logger %m%n"/>
    <RemotePort value="516" />
  </appender>
于 2013-10-23T19:01:21.103 に答える