在Asp.net Mvc 2中,您是否拥有Enterprise Library 5的每个用户的日志文件?

时间:2010-05-18 13:52:46

标签: asp.net-mvc enterprise-library enterprise-library-5

到目前为止,有2个解决方案建议使用文件名部分中的%username%和low level unmanaged code来完成环境变量。环境变量很容易只撤回运行应用程序的用户(服务器进程登录),而不是表单的登录验证用户名或userGuid。

EntLib 5中是否修复过这个问题?我能以某种方式在一个或多个类别中配置每用户日志吗?这样我就可以记录App_Data / User1.Recordings.log和App_Data / User1.Category2.log等?

1 个答案:

答案 0 :(得分:0)

您可以通过编程方式创建日志文件。请查看此链接以获取一般参考:

http://www.davidhayden.com/blog/dave/archive/2006/02/14/2801.aspx

//Create filename
String fileName = <method_to_determine_logged_on_user> +".Recordings.log";

// Create a log file
Stream logFile = File.Create(fileName);

// Create the TextWriterTraceListener
TextWriterTraceListener listener = new TextWriterTraceListener(logFile);

// Add the listener to the list of TraceListeners
Trace.Listeners.Add(listener);

// Output the message
Trace.Write("My log message");

// Flush the output.
Trace.Flush();