如何在ASP.NET网站虚拟目录上写日志?

时间:2011-02-09 06:09:14

标签: asp.net iis log4net virtual-directory

我的网站在IIS中作为ASP.NET用户运行。我创建了一个虚拟目录“Logs”,它在内部指向我的共享驱动器文件夹,该文件夹可由有限数量的用户访问。如何使用log4net在虚拟目录上创建日志文件?

创建记录器或文件时,我(或我可以)提供用户凭据吗?

1 个答案:

答案 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>