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 Edwin <ye...@familieschepers.nl> on 2008/12/02 15:14:19 UTC

logging into different logfiles depending on parameter

Hello,
I'm trying to log in separate logfiles, depending on a parameter in my
application. Until now I'm unable to.
I have read about filters and what I tried is :

in my app :

log4net.GlobalContext.Properties["myparam"] = "xyz";

log.Info("message 1");

log4net.GlobalContext.Properties["myparam"] = "abc";

log.Info("message 2");


I'd like to have the 2 messages in different files. The filter I used is  :
      <filter type="log4net.Filter.PropertyFilter">
	      <acceptOnMatch value="true" />
	      <key value="myparam" />
               <stringToMatch value="xyz" />
      </filter>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="ALL" />
        <levelMax value="FATAL" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />



The result is that all messages are logged in all logfiles.
How should/can I solve this ?

Thanks,
Edwin


Re: logging into different logfiles depending on parameter

Posted by Eric Marthinsen <em...@agilecommerce.com>.
Edwin-

Did you ever resolve this? I have the need to do something similar.

Regards,
Eric

On Tue, Dec 2, 2008 at 9:14 AM, Edwin <ye...@familieschepers.nl> wrote:
> Hello,
> I'm trying to log in separate logfiles, depending on a parameter in my
> application. Until now I'm unable to.
> I have read about filters and what I tried is :
>
> in my app :
>
> log4net.GlobalContext.Properties["myparam"] = "xyz";
>
> log.Info("message 1");
>
> log4net.GlobalContext.Properties["myparam"] = "abc";
>
> log.Info("message 2");
>
>
> I'd like to have the 2 messages in different files. The filter I used is  :
>      <filter type="log4net.Filter.PropertyFilter">
>              <acceptOnMatch value="true" />
>              <key value="myparam" />
>               <stringToMatch value="xyz" />
>      </filter>
>      <filter type="log4net.Filter.LevelRangeFilter">
>        <levelMin value="ALL" />
>        <levelMax value="FATAL" />
>      </filter>
>      <filter type="log4net.Filter.DenyAllFilter" />
>
>
>
> The result is that all messages are logged in all logfiles.
> How should/can I solve this ?
>
> Thanks,
> Edwin
>
>