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 "Pareto, Charles" <Ch...@va.gov> on 2010/07/13 19:47:07 UTC

how do I define log file at run time?

I have just started using log4net and I can write to my c# application.
I'm currently writing to the log file "c:\DeIdentifyDicom.log"

Defined in my .config file, but I would like to set the log file name at
runtime. Can anyone help me with this?

Here would be an example and the name of the log I would need to create
at runtime.

 

Void SomeMethod()

{

String scanCode = ReadScanCode();

//create log called scancode.log

//Log to scancode.log

}

 

 

 

Here is the .config file info I have so far, but this only creates a
staticly named log file

 

<configSections>

    <section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender"
type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger
[%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <!--<appender-ref ref="SmtpAppender" />-->

    </logger>

    <appender name="LogFileAppender"
type="log4net.Appender.RollingFileAppender" >

      <param name="File" value="c:\DeIdentifyDicom.log" />

      <param name="AppendToFile" value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd
hh:mm:ss} - %m%n" />

      </layout>

    </appender>

  </log4net>

 


RE: how do I define log file at run time?

Posted by "Pareto, Charles" <Ch...@va.gov>.
Hi,

I’m having trouble with your code.

Do you think you could send me a more complete example?

Where do I place 

var appender = new log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern, scanCode+".log");

log4net.Config.BasicConfigurator.Configure(appender);

 

What do I do with my old code

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom"); //defined at top of class

log4net.Config.XmlConfigurator.Configure(); // defined in constructor

 

and do I need to change my .config file?

Thanks for any help!

 

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Tuesday, July 13, 2010 11:29 AM
To: Log4NET User
Subject: Re: how do I define log file at run time?

 

Hello.

 

var appender = new log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern, scanCode+".log");

log4net.Config.BasicConfigurator.Configure(appender);

On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov> wrote:

I figured out how to change the name of the log file using a pattern to set the value of the string property, but how do I change the filename in my source code.

Here is all my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom"); //defined at top of class

log4net.Config.XmlConfigurator.Configure(); // defined in constructor

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath); //using it to log in methods

 

 

Here is the .config file:

 

<log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

    </logger>

    

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">

      <file type="log4net.Util.PatternString" value="c:\log-file-[%processid].txt" />

      <param name="AppendToFile" value="true"/>

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

</log4net>

 

 

From: Pareto, Charles [mailto:Charles.Pareto@va.gov] 
Sent: Tuesday, July 13, 2010 10:47 AM
To: log4net-user@logging.apache.org
Subject: how do I define log file at run time?

 

I have just started using log4net and I can write to my c# application. I’m currently writing to the log file “c:\DeIdentifyDicom.log”

Defined in my .config file, but I would like to set the log file name at runtime. Can anyone help me with this?

Here would be an example and the name of the log I would need to create at runtime.

 

Void SomeMethod()

{

String scanCode = ReadScanCode();

//create log called scancode.log

//Log to scancode.log

}

 

 

 

Here is the .config file info I have so far, but this only creates a staticly named log file

 

<configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <!--<appender-ref ref="SmtpAppender" />-->

    </logger>

    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >

      <param name="File" value="c:\DeIdentifyDicom.log" />

      <param name="AppendToFile" value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

  </log4net>

 

 


RE: how do I define log file at run time?

Posted by "Pareto, Charles" <Ch...@va.gov>.
Isn’t that what I want.

I was able to figure it out. I had to make a call to both

ILog logger = LogManager.GetLogger("DeIdentifyDicom");

log4net.Config.XmlConfigurator.Configure();

 

each and every time I wanted to log. So I placed everything into a method like so and it seems to work fine:

 

private void LogFile(string logFileName, string message, Exception ex)

        {

            log4net.ThreadContext.Properties["Version"] = "1";

            log4net.GlobalContext.Properties["LogName"] = logFileName;

            ILog logger = LogManager.GetLogger("DeIdentifyDicom");

            log4net.Config.XmlConfigurator.Configure();

            if (ex != null)

            {

                logger.Fatal(message, ex);

            }

            else

            {

                logger.Fatal(message);

            }

        }

 

Is this the best way to do it?

Now every time I want to create a log file in my application at runtime with a new name I just call this and pass in the new ‘logFileName’

 

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Wednesday, July 14, 2010 2:13 AM
To: Log4NET User
Subject: Re: how do I define log file at run time?

 

In that post they stressed that setting GlobalContext properties must be done before logger creating.

On Wed, Jul 14, 2010 at 12:40 AM, Pareto, Charles <Ch...@va.gov> wrote:

But pattern is what I want. Here is a link I followed for creating a dynamic log file name at runtime.

 

http://geekswithblogs.net/rgupta/archive/2009/03/03/dynamic-log-filenames-with-log4net.aspx

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Tuesday, July 13, 2010 12:56 PM


To: Log4NET User
Subject: Re: how do I define log file at run time?

 

All this %-stuff works only in pattern. Use my code, Luke.

On Tue, Jul 13, 2010 at 10:54 PM, Pareto, Charles <Ch...@va.gov> wrote:

I think I’m close but when I try the code below it writes a log file named ‘(null)’ with a size of 0

Any thoughts?

 

Here is my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");

log4net.Config.XmlConfigurator.Configure();

log4net.GlobalContext.Properties["LogName"] = "scancode.log";

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);

 

.config file

<?xml version="1.0"?>

<configuration>

  <configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <appender-ref ref="SmtpAppender" />

    </logger>

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">

      <file type="log4net.Util.PatternString" value="C:\%property{LogName}" />

      <appendToFile value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="-1" />

      <maximumFileSize value="5000KB" />

      <staticLogFileName value="true" />

      <countDirection value="1"/>

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%m%n" />

      </layout>

      <filter type="log4net.Filter.PropertyFilter">

        <Key value="Version" />

        <StringToMatch value="1" />

      </filter>

      <filter type="log4net.Filter.DenyAllFilter" />

    </appender>

  </log4net>

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

 

 

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Tuesday, July 13, 2010 11:29 AM
To: Log4NET User
Subject: Re: how do I define log file at run time?

 

Hello.

 

var appender = new log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern, scanCode+".log");

log4net.Config.BasicConfigurator.Configure(appender);

On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov> wrote:

I figured out how to change the name of the log file using a pattern to set the value of the string property, but how do I change the filename in my source code.

Here is all my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom"); //defined at top of class

log4net.Config.XmlConfigurator.Configure(); // defined in constructor

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath); //using it to log in methods

 

 

Here is the .config file:

 

<log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

    </logger>

    

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">

      <file type="log4net.Util.PatternString" value="c:\log-file-[%processid].txt" />

      <param name="AppendToFile" value="true"/>

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

</log4net>

 

 

From: Pareto, Charles [mailto:Charles.Pareto@va.gov] 
Sent: Tuesday, July 13, 2010 10:47 AM
To: log4net-user@logging.apache.org
Subject: how do I define log file at run time?

 

I have just started using log4net and I can write to my c# application. I’m currently writing to the log file “c:\DeIdentifyDicom.log”

Defined in my .config file, but I would like to set the log file name at runtime. Can anyone help me with this?

Here would be an example and the name of the log I would need to create at runtime.

 

Void SomeMethod()

{

String scanCode = ReadScanCode();

//create log called scancode.log

//Log to scancode.log

}

 

 

 

Here is the .config file info I have so far, but this only creates a staticly named log file

 

<configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <!--<appender-ref ref="SmtpAppender" />-->

    </logger>

    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >

      <param name="File" value="c:\DeIdentifyDicom.log" />

      <param name="AppendToFile" value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

  </log4net>

 

 

 

 


Re: how do I define log file at run time?

Posted by Yuriy Taraday <yo...@gmail.com>.
In that post they stressed that setting GlobalContext properties must be
done before logger creating.

On Wed, Jul 14, 2010 at 12:40 AM, Pareto, Charles <Ch...@va.gov>wrote:

>  But pattern is what I want. Here is a link I followed for creating a
> dynamic log file name at runtime.
>
>
>
>
> http://geekswithblogs.net/rgupta/archive/2009/03/03/dynamic-log-filenames-with-log4net.aspx
>
>
>
>
>
> *From:* Yuriy Taraday [mailto:yorik.sar@gmail.com]
> *Sent:* Tuesday, July 13, 2010 12:56 PM
>
> *To:* Log4NET User
> *Subject:* Re: how do I define log file at run time?
>
>
>
> All this %-stuff works only in pattern. Use my code, Luke.
>
> On Tue, Jul 13, 2010 at 10:54 PM, Pareto, Charles <Ch...@va.gov>
> wrote:
>
> I think I’m close but when I try the code below it writes a log file named
> ‘(null)’ with a size of 0
>
> Any thoughts?
>
>
>
> Here is my code:
>
> private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");
>
> log4net.Config.XmlConfigurator.Configure();
>
> log4net.GlobalContext.Properties["LogName"] = "scancode.log";
>
> logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);
>
>
>
> .config file
>
> <?xml version="1.0"?>
>
> <configuration>
>
>   <configSections>
>
>     <section name="log4net" type="
> log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
>
>   </configSections>
>
>
>
>   <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>       <appender-ref ref="SmtpAppender" />
>
>     </logger>
>
> <appender name="LogFileAppender" type="
> log4net.Appender.RollingFileAppender">
>
>       <file type="log4net.Util.PatternString" value="C:\%property{LogName}
> " />
>
>       <appendToFile value="true" />
>
>       <rollingStyle value="Size" />
>
>       <maxSizeRollBackups value="-1" />
>
>       <maximumFileSize value="5000KB" />
>
>       <staticLogFileName value="true" />
>
>       <countDirection value="1"/>
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%m%n" />
>
>       </layout>
>
>       <filter type="log4net.Filter.PropertyFilter">
>
>         <Key value="Version" />
>
>         <StringToMatch value="1" />
>
>       </filter>
>
>       <filter type="log4net.Filter.DenyAllFilter" />
>
>     </appender>
>
>   </log4net>
>
> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"
> /></startup></configuration>
>
>
>
>
>
>
>
>
>
> *From:* Yuriy Taraday [mailto:yorik.sar@gmail.com]
> *Sent:* Tuesday, July 13, 2010 11:29 AM
> *To:* Log4NET User
> *Subject:* Re: how do I define log file at run time?
>
>
>
> Hello.
>
>
>
> var appender = new
> log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern,
> scanCode+".log");
>
> log4net.Config.BasicConfigurator.Configure(appender);
>
> On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov>
> wrote:
>
> I figured out how to change the name of the log file using a pattern to set
> the value of the string property, but how do I change the filename in my
> source code.
>
> Here is all my code:
>
> private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");
> //defined at top of class
>
> log4net.Config.XmlConfigurator.Configure(); // defined in constructor
>
> logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);
> //using it to log in methods
>
>
>
>
>
> Here is the .config file:
>
>
>
> <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>     </logger>
>
>
>
>     <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
>
>       <file type="log4net.Util.PatternString" value="
> c:\log-file-[%processid].txt" />
>
>       <param name="AppendToFile" value="true"/>
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss}
> – %m%n" />
>
>       </layout>
>
>     </appender>
>
> </log4net>
>
>
>
>
>
> *From:* Pareto, Charles [mailto:Charles.Pareto@va.gov]
> *Sent:* Tuesday, July 13, 2010 10:47 AM
> *To:* log4net-user@logging.apache.org
> *Subject:* how do I define log file at run time?
>
>
>
> I have just started using log4net and I can write to my c# application. I’m
> currently writing to the log file “c:\DeIdentifyDicom.log”
>
> Defined in my .config file, but I would like to set the log file name at
> runtime. Can anyone help me with this?
>
> Here would be an example and the name of the log I would need to create at
> runtime.
>
>
>
> Void SomeMethod()
>
> {
>
> String scanCode = ReadScanCode();
>
> //create log called scancode.log
>
> //Log to scancode.log
>
> }
>
>
>
>
>
>
>
> Here is the .config file info I have so far, but this only creates a
> staticly named log file
>
>
>
> <configSections>
>
>     <section name="log4net" type="
> log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
>
>   </configSections>
>
>
>
>   <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>       <!--<appender-ref ref="SmtpAppender" />-->
>
>     </logger>
>
>     <appender name="LogFileAppender" type="
> log4net.Appender.RollingFileAppender" >
>
>       <param name="File" value="c:\DeIdentifyDicom.log" />
>
>       <param name="AppendToFile" value="true" />
>
>       <rollingStyle value="Size" />
>
>       <maxSizeRollBackups value="10" />
>
>       <maximumFileSize value="10MB" />
>
>       <staticLogFileName value="true" />
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss}
> – %m%n" />
>
>       </layout>
>
>     </appender>
>
>   </log4net>
>
>
>
>
>
>
>

RE: how do I define log file at run time?

Posted by "Pareto, Charles" <Ch...@va.gov>.
But pattern is what I want. Here is a link I followed for creating a dynamic log file name at runtime.

 

http://geekswithblogs.net/rgupta/archive/2009/03/03/dynamic-log-filenames-with-log4net.aspx

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Tuesday, July 13, 2010 12:56 PM
To: Log4NET User
Subject: Re: how do I define log file at run time?

 

All this %-stuff works only in pattern. Use my code, Luke.

On Tue, Jul 13, 2010 at 10:54 PM, Pareto, Charles <Ch...@va.gov> wrote:

I think I’m close but when I try the code below it writes a log file named ‘(null)’ with a size of 0

Any thoughts?

 

Here is my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");

log4net.Config.XmlConfigurator.Configure();

log4net.GlobalContext.Properties["LogName"] = "scancode.log";

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);

 

.config file

<?xml version="1.0"?>

<configuration>

  <configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <appender-ref ref="SmtpAppender" />

    </logger>

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">

      <file type="log4net.Util.PatternString" value="C:\%property{LogName}" />

      <appendToFile value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="-1" />

      <maximumFileSize value="5000KB" />

      <staticLogFileName value="true" />

      <countDirection value="1"/>

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%m%n" />

      </layout>

      <filter type="log4net.Filter.PropertyFilter">

        <Key value="Version" />

        <StringToMatch value="1" />

      </filter>

      <filter type="log4net.Filter.DenyAllFilter" />

    </appender>

  </log4net>

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

 

 

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Tuesday, July 13, 2010 11:29 AM
To: Log4NET User
Subject: Re: how do I define log file at run time?

 

Hello.

 

var appender = new log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern, scanCode+".log");

log4net.Config.BasicConfigurator.Configure(appender);

On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov> wrote:

I figured out how to change the name of the log file using a pattern to set the value of the string property, but how do I change the filename in my source code.

Here is all my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom"); //defined at top of class

log4net.Config.XmlConfigurator.Configure(); // defined in constructor

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath); //using it to log in methods

 

 

Here is the .config file:

 

<log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

    </logger>

    

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">

      <file type="log4net.Util.PatternString" value="c:\log-file-[%processid].txt" />

      <param name="AppendToFile" value="true"/>

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

</log4net>

 

 

From: Pareto, Charles [mailto:Charles.Pareto@va.gov] 
Sent: Tuesday, July 13, 2010 10:47 AM
To: log4net-user@logging.apache.org
Subject: how do I define log file at run time?

 

I have just started using log4net and I can write to my c# application. I’m currently writing to the log file “c:\DeIdentifyDicom.log”

Defined in my .config file, but I would like to set the log file name at runtime. Can anyone help me with this?

Here would be an example and the name of the log I would need to create at runtime.

 

Void SomeMethod()

{

String scanCode = ReadScanCode();

//create log called scancode.log

//Log to scancode.log

}

 

 

 

Here is the .config file info I have so far, but this only creates a staticly named log file

 

<configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <!--<appender-ref ref="SmtpAppender" />-->

    </logger>

    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >

      <param name="File" value="c:\DeIdentifyDicom.log" />

      <param name="AppendToFile" value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

  </log4net>

 

 

 


Re: how do I define log file at run time?

Posted by Yuriy Taraday <yo...@gmail.com>.
All this %-stuff works only in pattern. Use my code, Luke.

On Tue, Jul 13, 2010 at 10:54 PM, Pareto, Charles <Ch...@va.gov>wrote:

>  I think I’m close but when I try the code below it writes a log file
> named ‘(null)’ with a size of 0
>
> Any thoughts?
>
>
>
> Here is my code:
>
> private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");
>
> log4net.Config.XmlConfigurator.Configure();
>
> log4net.GlobalContext.Properties["LogName"] = "scancode.log";
>
> logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);
>
>
>
> .config file
>
> <?xml version="1.0"?>
>
> <configuration>
>
>   <configSections>
>
>     <section name="log4net" type="
> log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
>
>   </configSections>
>
>
>
>   <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>       <appender-ref ref="SmtpAppender" />
>
>     </logger>
>
> <appender name="LogFileAppender" type="
> log4net.Appender.RollingFileAppender">
>
>       <file type="log4net.Util.PatternString" value="C:\%property{LogName}
> " />
>
>       <appendToFile value="true" />
>
>       <rollingStyle value="Size" />
>
>       <maxSizeRollBackups value="-1" />
>
>       <maximumFileSize value="5000KB" />
>
>       <staticLogFileName value="true" />
>
>       <countDirection value="1"/>
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%m%n" />
>
>       </layout>
>
>       <filter type="log4net.Filter.PropertyFilter">
>
>         <Key value="Version" />
>
>         <StringToMatch value="1" />
>
>       </filter>
>
>       <filter type="log4net.Filter.DenyAllFilter" />
>
>     </appender>
>
>   </log4net>
>
> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"
> /></startup></configuration>
>
>
>
>
>
>
>
>
>
> *From:* Yuriy Taraday [mailto:yorik.sar@gmail.com]
> *Sent:* Tuesday, July 13, 2010 11:29 AM
> *To:* Log4NET User
> *Subject:* Re: how do I define log file at run time?
>
>
>
> Hello.
>
>
>
> var appender = new
> log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern,
> scanCode+".log");
>
> log4net.Config.BasicConfigurator.Configure(appender);
>
> On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov>
> wrote:
>
> I figured out how to change the name of the log file using a pattern to set
> the value of the string property, but how do I change the filename in my
> source code.
>
> Here is all my code:
>
> private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");
> //defined at top of class
>
> log4net.Config.XmlConfigurator.Configure(); // defined in constructor
>
> logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);
> //using it to log in methods
>
>
>
>
>
> Here is the .config file:
>
>
>
> <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>     </logger>
>
>
>
>     <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
>
>       <file type="log4net.Util.PatternString" value="
> c:\log-file-[%processid].txt" />
>
>       <param name="AppendToFile" value="true"/>
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss}
> – %m%n" />
>
>       </layout>
>
>     </appender>
>
> </log4net>
>
>
>
>
>
> *From:* Pareto, Charles [mailto:Charles.Pareto@va.gov]
> *Sent:* Tuesday, July 13, 2010 10:47 AM
> *To:* log4net-user@logging.apache.org
> *Subject:* how do I define log file at run time?
>
>
>
> I have just started using log4net and I can write to my c# application. I’m
> currently writing to the log file “c:\DeIdentifyDicom.log”
>
> Defined in my .config file, but I would like to set the log file name at
> runtime. Can anyone help me with this?
>
> Here would be an example and the name of the log I would need to create at
> runtime.
>
>
>
> Void SomeMethod()
>
> {
>
> String scanCode = ReadScanCode();
>
> //create log called scancode.log
>
> //Log to scancode.log
>
> }
>
>
>
>
>
>
>
> Here is the .config file info I have so far, but this only creates a
> staticly named log file
>
>
>
> <configSections>
>
>     <section name="log4net" type="
> log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
>
>   </configSections>
>
>
>
>   <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>       <!--<appender-ref ref="SmtpAppender" />-->
>
>     </logger>
>
>     <appender name="LogFileAppender" type="
> log4net.Appender.RollingFileAppender" >
>
>       <param name="File" value="c:\DeIdentifyDicom.log" />
>
>       <param name="AppendToFile" value="true" />
>
>       <rollingStyle value="Size" />
>
>       <maxSizeRollBackups value="10" />
>
>       <maximumFileSize value="10MB" />
>
>       <staticLogFileName value="true" />
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss}
> – %m%n" />
>
>       </layout>
>
>     </appender>
>
>   </log4net>
>
>
>
>
>

RE: how do I define log file at run time?

Posted by "Pareto, Charles" <Ch...@va.gov>.
I think I’m close but when I try the code below it writes a log file named ‘(null)’ with a size of 0

Any thoughts?

 

Here is my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");

log4net.Config.XmlConfigurator.Configure();

log4net.GlobalContext.Properties["LogName"] = "scancode.log";

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);

 

.config file

<?xml version="1.0"?>

<configuration>

  <configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <appender-ref ref="SmtpAppender" />

    </logger>

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">

      <file type="log4net.Util.PatternString" value="C:\%property{LogName}" />

      <appendToFile value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="-1" />

      <maximumFileSize value="5000KB" />

      <staticLogFileName value="true" />

      <countDirection value="1"/>

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%m%n" />

      </layout>

      <filter type="log4net.Filter.PropertyFilter">

        <Key value="Version" />

        <StringToMatch value="1" />

      </filter>

      <filter type="log4net.Filter.DenyAllFilter" />

    </appender>

  </log4net>

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

 

 

 

 

From: Yuriy Taraday [mailto:yorik.sar@gmail.com] 
Sent: Tuesday, July 13, 2010 11:29 AM
To: Log4NET User
Subject: Re: how do I define log file at run time?

 

Hello.

 

var appender = new log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern, scanCode+".log");

log4net.Config.BasicConfigurator.Configure(appender);

On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov> wrote:

I figured out how to change the name of the log file using a pattern to set the value of the string property, but how do I change the filename in my source code.

Here is all my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom"); //defined at top of class

log4net.Config.XmlConfigurator.Configure(); // defined in constructor

logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath); //using it to log in methods

 

 

Here is the .config file:

 

<log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

    </logger>

    

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">

      <file type="log4net.Util.PatternString" value="c:\log-file-[%processid].txt" />

      <param name="AppendToFile" value="true"/>

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

</log4net>

 

 

From: Pareto, Charles [mailto:Charles.Pareto@va.gov] 
Sent: Tuesday, July 13, 2010 10:47 AM
To: log4net-user@logging.apache.org
Subject: how do I define log file at run time?

 

I have just started using log4net and I can write to my c# application. I’m currently writing to the log file “c:\DeIdentifyDicom.log”

Defined in my .config file, but I would like to set the log file name at runtime. Can anyone help me with this?

Here would be an example and the name of the log I would need to create at runtime.

 

Void SomeMethod()

{

String scanCode = ReadScanCode();

//create log called scancode.log

//Log to scancode.log

}

 

 

 

Here is the .config file info I have so far, but this only creates a staticly named log file

 

<configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <!--<appender-ref ref="SmtpAppender" />-->

    </logger>

    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >

      <param name="File" value="c:\DeIdentifyDicom.log" />

      <param name="AppendToFile" value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />

      </layout>

    </appender>

  </log4net>

 

 


Re: how do I define log file at run time?

Posted by Yuriy Taraday <yo...@gmail.com>.
Hello.

var appender = new
log4net.Appender.FileAppender(log4net.Layout.PatternLayout.DetailConversionPattern,
scanCode+".log");
log4net.Config.BasicConfigurator.Configure(appender);

On Tue, Jul 13, 2010 at 10:23 PM, Pareto, Charles <Ch...@va.gov>wrote:

>  I figured out how to change the name of the log file using a pattern to
> set the value of the string property, but how do I change the filename in my
> source code.
>
> Here is all my code:
>
> private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");
> //defined at top of class
>
> log4net.Config.XmlConfigurator.Configure(); // defined in constructor
>
> logger.Fatal("Failed to Open File in Time Limit. Filename - " + filePath);
> //using it to log in methods
>
>
>
>
>
> Here is the .config file:
>
>
>
> <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>     </logger>
>
>
>
>     <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
>
>       <file type="log4net.Util.PatternString" value="
> c:\log-file-[%processid].txt" />
>
>       <param name="AppendToFile" value="true"/>
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss}
> – %m%n" />
>
>       </layout>
>
>     </appender>
>
> </log4net>
>
>
>
>
>
> *From:* Pareto, Charles [mailto:Charles.Pareto@va.gov]
> *Sent:* Tuesday, July 13, 2010 10:47 AM
> *To:* log4net-user@logging.apache.org
> *Subject:* how do I define log file at run time?
>
>
>
> I have just started using log4net and I can write to my c# application. I’m
> currently writing to the log file “c:\DeIdentifyDicom.log”
>
> Defined in my .config file, but I would like to set the log file name at
> runtime. Can anyone help me with this?
>
> Here would be an example and the name of the log I would need to create at
> runtime.
>
>
>
> Void SomeMethod()
>
> {
>
> String scanCode = ReadScanCode();
>
> //create log called scancode.log
>
> //Log to scancode.log
>
> }
>
>
>
>
>
>
>
> Here is the .config file info I have so far, but this only creates a
> staticly named log file
>
>
>
> <configSections>
>
>     <section name="log4net" type="
> log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
>
>   </configSections>
>
>
>
>   <log4net>
>
>     <appender name="ConsoleAppender" type="
> log4net.Appender.ConsoleAppender">
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
>       </layout>
>
>     </appender>
>
>     <root>
>
>       <level value="INFO" />
>
>       <appender-ref ref="ConsoleAppender" />
>
>     </root>
>
>
>
>     <logger name="DeIdentifyDicom">
>
>       <level value="INFO" />
>
>       <appender-ref ref="LogFileAppender" />
>
>       <!--<appender-ref ref="SmtpAppender" />-->
>
>     </logger>
>
>     <appender name="LogFileAppender" type="
> log4net.Appender.RollingFileAppender" >
>
>       <param name="File" value="c:\DeIdentifyDicom.log" />
>
>       <param name="AppendToFile" value="true" />
>
>       <rollingStyle value="Size" />
>
>       <maxSizeRollBackups value="10" />
>
>       <maximumFileSize value="10MB" />
>
>       <staticLogFileName value="true" />
>
>       <layout type="log4net.Layout.PatternLayout">
>
>         <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss}
> – %m%n" />
>
>       </layout>
>
>     </appender>
>
>   </log4net>
>
>
>

RE: how do I define log file at run time?

Posted by "Pareto, Charles" <Ch...@va.gov>.
I figured out how to change the name of the log file using a pattern to
set the value of the string property, but how do I change the filename
in my source code.

Here is all my code:

private readonly ILog logger = LogManager.GetLogger("DeIdentifyDicom");
//defined at top of class

log4net.Config.XmlConfigurator.Configure(); // defined in constructor

logger.Fatal("Failed to Open File in Time Limit. Filename - " +
filePath); //using it to log in methods

 

 

Here is the .config file:

 

<log4net>

    <appender name="ConsoleAppender"
type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger
[%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

    </logger>

    

    <appender name="LogFileAppender"
type="log4net.Appender.FileAppender">

      <file type="log4net.Util.PatternString"
value="c:\log-file-[%processid].txt" />

      <param name="AppendToFile" value="true"/>

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd
hh:mm:ss} - %m%n" />

      </layout>

    </appender>

</log4net>

 

 

From: Pareto, Charles [mailto:Charles.Pareto@va.gov] 
Sent: Tuesday, July 13, 2010 10:47 AM
To: log4net-user@logging.apache.org
Subject: how do I define log file at run time?

 

I have just started using log4net and I can write to my c# application.
I'm currently writing to the log file "c:\DeIdentifyDicom.log"

Defined in my .config file, but I would like to set the log file name at
runtime. Can anyone help me with this?

Here would be an example and the name of the log I would need to create
at runtime.

 

Void SomeMethod()

{

String scanCode = ReadScanCode();

//create log called scancode.log

//Log to scancode.log

}

 

 

 

Here is the .config file info I have so far, but this only creates a
staticly named log file

 

<configSections>

    <section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>

  </configSections>

 

  <log4net>

    <appender name="ConsoleAppender"
type="log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger
[%property{NDC}] - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="INFO" />

      <appender-ref ref="ConsoleAppender" />

    </root>

 

    <logger name="DeIdentifyDicom">

      <level value="INFO" />

      <appender-ref ref="LogFileAppender" />

      <!--<appender-ref ref="SmtpAppender" />-->

    </logger>

    <appender name="LogFileAppender"
type="log4net.Appender.RollingFileAppender" >

      <param name="File" value="c:\DeIdentifyDicom.log" />

      <param name="AppendToFile" value="true" />

      <rollingStyle value="Size" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd
hh:mm:ss} - %m%n" />

      </layout>

    </appender>

  </log4net>