我的网站在IIS中作为ASP.NET用户运行。我创建了一个虚拟目录“Logs”,它在内部指向我的共享驱动器文件夹,该文件夹可由有限数量的用户访问。如何使用log4net在虚拟目录上创建日志文件?
创建记录器或文件时,我(或我可以)提供用户凭据吗?
答案 0 :(得分:0)
看起来有no problem将日志文件写入您网站上的虚拟目录。您只需通过编写配置
告诉log4net该路径是相对于当前目录的<appender ...>
<file value="Logs\website.log" />
</appender>
现在,如果您想将当前用户名放在日志消息中,您需要调查log4net Contexts。将当前用户存储在log4net上下文中
log4net.ThreadContext.Properties["user"] = HttpContext.Cache["current-user"];
将其拉出Appender layout
<appender ...>
<layout ...>
<conversionPattern value="%date %-5level [%property{user}] %message%newline" />
</layout>
</appender>