新しい Web サービス プロジェクトのロガーとしてlog4netを使用することにしました。すべて正常に動作していますが、.log で使用している log4net タグごとに、以下のようなメッセージがたくさん表示されますweb.config
。
要素「log4net」のスキーマ情報が見つかりませんでした...
以下は、 my の関連部分ですweb.config
。
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level: %message%newline" />
</layout>
</appender>
<logger name="TIMServerLog">
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
解決済み:
- すべての log4net 固有のタグを個別の
xml
-file にコピーします。必ず.xml
ファイル拡張子として使用してください。 - 次の行を に追加します
AssemblyInfo.cs
。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "xmlFile.xml", Watch = true)]
ネモは次のように付け加えました。
このスレッドの回答のアドバイスに従ってください。Web サービスのルートから離れた xml に log4net 構成を配置すると、デフォルトで誰でもアクセスできるようになるため、セキュリティ上のリスクが生じる可能性があります。構成に機密データが含まれている場合は、別の場所に配置することをお勧めします。
@wcm: 別のファイルを使用してみました。次の行を追加しましたAssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
log4net を扱うすべてのものをそのファイルに入れますが、それでも同じメッセージが表示されます。