You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-user@logging.apache.org by "Mark A. DeMichele" <de...@intellipro.com> on 2008/10/05 15:43:05 UTC

Using log4Net to log multiple files by different users/tasks

I have an asp.net site in which different users run different tasks.
Each individual task is managed by a TaskManager that I'm writing.
While each task is running it has the opportunity to log to it's own log
file.  I'm trying to use Log4Net to do this, but so far I've been unable
to figure out how exactly to accomplish this.  Any advice would be
appreciated.
 
So far, I believe I must create an individual Appender for each task.
Something like this.
PatternLayout layout = new PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff}
%5level [%2thread] %message (%logger{1}:%line)%n");
FileAppender appender = new FileAppender();
appender.Layout = layout;
appender.File = "d:\\logs\\" + TaskID.ToString()+ ".txt";
appender.AppendToFile = true;
appender.Name = "File";
appender.Threshold = log4net.Core.Level.All;
appender.ActivateOptions();

And I know that eventaully, I'll want to code to call something like 

ILog _Log = LogManager.GetLogger(TaskID.ToString());

But I can't figure out how to make that logger unique and how to
associate that single appender to it and not to have that single
appender interfere with other users and tasks.

I'm starting to think that this is not possible with Log4Net.  Maybe
Log4Net is made more to have global loggers and not many individual task
related ones.  I'd appreciate any help anyone can give me.

Thanks.