我们使用log4net来记录WinForm应用程序的事件和错误。 客户希望在应用程序运行期间查看日志文件。 但我找不到log4net何时以及如何执行写入(commit)操作。 除了自己创建另一个记录器外,如何满足客户的需求? 有什么帮助吗?谢谢。
我们使用log4net来记录WinForm应用程序的事件和错误。 客户希望在应用程序运行期间查看日志文件。 但我找不到log4net何时以及如何执行写入(commit)操作。 除了自己创建另一个记录器外,如何满足客户的需求? 有什么帮助吗?谢谢。
FileAppender
,则该附加程序继承了 TextWriterAppender
,而后者公开了 ImmediateFlush
属性。此属性的默认值为 true
,并强制附加程序对每个 Append 操作在底层流上执行 Flush()
。当我在SharePoint实例中使用log4net时,我注意到一件事情,那就是根据您的安全配置和配置加载的实现方式,启动应用程序池的用户可能没有权限写入本地文件系统以创建日志文件。
因此,您需要确保使用正确的凭据调用配置,在SharePoint中,它将处于提升的安全上下文中。虽然不完全相关,但这可能是您遇到的问题。
foreach (IAppender appender in LogManager.GetRepository().GetAppenders())
{
BufferingAppenderSkeleton b = appender as BufferingAppenderSkeleton;
if (b != null) b.Flush();
}