在我的web.config我有以下幾點:第二附加器不工作
<log4net>
<appender name="mainLog"
type="log4net.Appender.FileAppender">
<file value="Log/Log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="linqLog"
type="log4net.Appender.FileAppender">
<file value="Log/Log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>
<logger name="MainLogger">
<level value="ALL" />
<appender-ref ref="mainLog" />
</logger>
<logger name="LinqLogger">
<level value="ALL" />
<appender-ref ref="linqLog" />
</logger>
</log4net>
稱爲「mainLog」第一附加器正在工作。但是第二個叫做「linqLog」的不是。如果我註釋掉「mainLog」,那麼「linqLog」就起作用。
在我的Global.asax文件我有以下幾點:
protected void Application_Start(object sender, EventArgs e)
{
XmlConfigurator.Configure();
}
下面是我美其名曰:
public static void LogMessage(string message, string loggerName)
{
ILog log = LogManager.GetLogger(loggerName);
log.Info(string.Format(message));
}
LogMessage("My test message for MainLogger", "MainLogger");
LogMessage("My test message for LinqLogger", "LinqLogger");
任何想法我做了什麼錯?
我不認爲log4net的支持兩個附加目的地記錄到同一個文件,你有這個理由嗎? –
啊..不知道。我這樣做是因爲我希望消息的格式根據來源不同而不同。 –
@LukeHutton你可能想要真正創建一個問題的答案;這樣我可以給你答案,因爲你是對的。 =) –