使用net.standrad制作了一個log4net的日志類別庫,然后使用net.core webapi呼叫是正常,但是使用net.framrwork的webservice專案呼叫時,無法生成日志,不知道是什么原因
組態檔是 log4net.config ,屬性設定是始終復制
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<logger name="RollingLogFileAppender">
<level value="https://bbs.csdn.net/topics/ALL" />
<!--<appender-ref ref="RollingFileDebug" />-->
<appender-ref ref="RollingFileInfo" />
<appender-ref ref="RollingFileWarn" />
<appender-ref ref="RollingFileError" />
<appender-ref ref="RollingFileFatal" />
<appender-ref ref="Console" />
</logger>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<conversionPattern value="https://bbs.csdn.net/topics/%5level [%thread] (%file:%line) - %message%newline" />
</layout>
</appender>
<appender name="RollingFileDebug" type="log4net.Appender.RollingFileAppender">
<param name="File" value="https://bbs.csdn.net/topics/Log/Debug/"/>
<param name="AppendToFile" value="https://bbs.csdn.net/topics/true"/>
<param name="MaxSizeRollBackups" value="https://bbs.csdn.net/topics/100"/>
<param name="StaticLogFileName" value="https://bbs.csdn.net/topics/false"/>
<param name="DatePattern" value="https://bbs.csdn.net/topics/yyyyMMdd".txt""/>
<param name="RollingStyle" value="https://bbs.csdn.net/topics/Date"/>
<param name="MaxFileSize" value="https://bbs.csdn.net/topics/10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="https://bbs.csdn.net/topics/%m%n" />
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="https://bbs.csdn.net/topics/Debug" />
<param name="LevelMax" value="https://bbs.csdn.net/topics/Debug" />
</filter>
</appender>
<appender name="RollingFileInfo" type="log4net.Appender.RollingFileAppender">
<param name="File" value="https://bbs.csdn.net/topics/Log/Info/"/>
<param name="AppendToFile" value="https://bbs.csdn.net/topics/true"/>
<param name="MaxSizeRollBackups" value="https://bbs.csdn.net/topics/100"/>
<param name="MaxFileSize" value="https://bbs.csdn.net/topics/10240" />
<param name="StaticLogFileName" value="https://bbs.csdn.net/topics/false"/>
<param name="DatePattern" value="https://bbs.csdn.net/topics/yyyyMMdd".txt""/>
<param name="RollingStyle" value="https://bbs.csdn.net/topics/Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="https://bbs.csdn.net/topics/%m%n"/>
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="https://bbs.csdn.net/topics/INFO" />
<param name="LevelMax" value="https://bbs.csdn.net/topics/INFO" />
</filter>
</appender>
<appender name="RollingFileWarn" type="log4net.Appender.RollingFileAppender">
<param name="File" value="https://bbs.csdn.net/topics/Log/Warn/"/>
<param name="AppendToFile" value="https://bbs.csdn.net/topics/true"/>
<param name="MaxSizeRollBackups" value="https://bbs.csdn.net/topics/100"/>
<param name="MaxFileSize" value="https://bbs.csdn.net/topics/10240" />
<param name="StaticLogFileName" value="https://bbs.csdn.net/topics/false"/>
<param name="DatePattern" value="https://bbs.csdn.net/topics/yyyyMMdd".txt""/>
<param name="RollingStyle" value="https://bbs.csdn.net/topics/Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="https://bbs.csdn.net/topics/%m%n"/>
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="https://bbs.csdn.net/topics/WARN" />
<param name="LevelMax" value="https://bbs.csdn.net/topics/WARN" />
</filter>
</appender>
<appender name="RollingFileError" type="log4net.Appender.RollingFileAppender">
<param name="File" value="https://bbs.csdn.net/topics/Log/Error/"/>
<param name="AppendToFile" value="https://bbs.csdn.net/topics/true"/>
<param name="MaxSizeRollBackups" value="https://bbs.csdn.net/topics/10"/>
<param name="MaxFileSize" value="https://bbs.csdn.net/topics/10240" />
<param name="StaticLogFileName" value="https://bbs.csdn.net/topics/false"/>
<param name="DatePattern" value="https://bbs.csdn.net/topics/yyyyMMdd".txt""/>
<param name="RollingStyle" value="https://bbs.csdn.net/topics/Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="https://bbs.csdn.net/topics/%m%n"/>
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="https://bbs.csdn.net/topics/ERROR" />
<param name="LevelMax" value="https://bbs.csdn.net/topics/ERROR" />
</filter>
</appender>
<appender name="RollingFileFatal" type="log4net.Appender.RollingFileAppender">
<param name="File" value="https://bbs.csdn.net/topics/Log/Fatal/"/>
<param name="AppendToFile" value="https://bbs.csdn.net/topics/true"/>
<param name="MaxSizeRollBackups" value="https://bbs.csdn.net/topics/10"/>
<param name="StaticLogFileName" value="https://bbs.csdn.net/topics/false"/>
<param name="DatePattern" value="https://bbs.csdn.net/topics/yyyyMMdd".txt""/>
<param name="MaxFileSize" value="https://bbs.csdn.net/topics/10240" />
<param name="RollingStyle" value="https://bbs.csdn.net/topics/Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="https://bbs.csdn.net/topics/%m%n"/>
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="https://bbs.csdn.net/topics/FATAL" />
<param name="LevelMax" value="https://bbs.csdn.net/topics/FATAL" />
</filter>
</appender>
</log4net>
</configuration>
log4net實作如下:
using System;
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
namespace Mflex.Shared.Util
{
public class LogHelper
{
//GetLogger表示log4net組態檔中logger標簽中name屬性,此處要一致 不然無log輸出
private static readonly log4net.ILog Log = log4net.LogManager.GetLogger("RollingLogFileAppender");
/// <summary>
/// 記錄Info日志
/// </summary>
/// <param name="msg"></param>
/// <param name="ex"></param>
public static void Info(string msg)
{
if (Log.IsInfoEnabled)
{
Log.Info(msg);
}
}
/// <summary>
/// 記錄Fatal日志
/// </summary>
/// <param name="msg"></param>
/// <param name="ex"></param>
public static void Fatal(string msg)
{
if (Log.IsFatalEnabled)
{
Log.Fatal(msg);
}
}
/// <summary>
/// 記錄Debug日志
/// </summary>
/// <param name="msg"></param>
/// <param name="ex"></param>
public static void Debug(string msg)
{
if (Log.IsDebugEnabled)
{
Log.Debug(msg);
}
}
/// <summary>
/// 記錄Warn日志
/// </summary>
/// <param name="msg"></param>
/// <param name="ex"></param>
public static void Warn(string msg)
{
if (Log.IsWarnEnabled)
{
Log.Warn(msg);
}
}
/// <summary>
/// 記錄Error日志
/// </summary>
/// <param name="errorMsg"></param>
/// <param name="ex"></param>
public static void Error(string info, Exception ex = null)
{
if (!string.IsNullOrEmpty(info) && ex == null)
{
Log.ErrorFormat("【附加資訊】 : {0}<br>", new object[] { info });
}
else if (!string.IsNullOrEmpty(info) && ex != null)
{
string errorMsg = BeautyErrorMsg(ex);
Log.ErrorFormat("【附加資訊】 : {0}<br>{1}", new object[] { info, errorMsg });
}
else if (string.IsNullOrEmpty(info) && ex != null)
{
string errorMsg = BeautyErrorMsg(ex);
Log.Error(errorMsg);
}
}
/// <summary>
/// 美化錯誤資訊
/// </summary>
/// <param name="ex">例外</param>
/// <returns>錯誤資訊</returns>
private static string BeautyErrorMsg(Exception ex)
{
string errorMsg = string.Format("【例外型別】:{0} <br>【例外資訊】:{1} <br>【堆疊呼叫】:{2}", new object[] { ex.GetType().Name, ex.Message, ex.StackTrace });
errorMsg = errorMsg.Replace("\r\n", "<br>");
errorMsg = errorMsg.Replace("位置", "<strong style=\"color:red\">位置</strong>");
return errorMsg;
}
}
}
uj5u.com熱心網友回復:
例外有嗎?系統的事件查看一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/255394.html
標籤:C#
