Log4net 设置 EventLogAppender 大小
Log4net set EventLogAppender size
有什么方法可以使用 EventLogAppender 指定事件查看器日志的大小吗?
或者我是否需要使用 C#/Windows Api 获取记录器?
默认设置为 1028KB,但我需要它为 10MB。
用这个解决了:
public static void setEventLogAppenderMaximumSize(log4net.ILog aLogger)
{
log4net.Appender.IAppender[] logAppenders = aLogger.Logger.Repository.GetAppenders();
if (logAppenders != null && logAppenders.Length > 0)
{
string logName = ((log4net.Appender.EventLogAppender)logAppenders[0]).LogName;
EventLog[] eventLogs = EventLog.GetEventLogs();
foreach (EventLog e in eventLogs)
{
if (e.Log == logName)
{
int newLogSizeInKB = 102400; //10MB
if (e.MaximumKilobytes < newLogSizeInKB)
{
e.MaximumKilobytes = newLogSizeInKB;
}
return;
}
}
}
}
有什么方法可以使用 EventLogAppender 指定事件查看器日志的大小吗?
或者我是否需要使用 C#/Windows Api 获取记录器?
默认设置为 1028KB,但我需要它为 10MB。
用这个解决了:
public static void setEventLogAppenderMaximumSize(log4net.ILog aLogger)
{
log4net.Appender.IAppender[] logAppenders = aLogger.Logger.Repository.GetAppenders();
if (logAppenders != null && logAppenders.Length > 0)
{
string logName = ((log4net.Appender.EventLogAppender)logAppenders[0]).LogName;
EventLog[] eventLogs = EventLog.GetEventLogs();
foreach (EventLog e in eventLogs)
{
if (e.Log == logName)
{
int newLogSizeInKB = 102400; //10MB
if (e.MaximumKilobytes < newLogSizeInKB)
{
e.MaximumKilobytes = newLogSizeInKB;
}
return;
}
}
}
}