On Wed, 18 Apr 2012, Gangemi, Jae wrote:

>  actually, no - the call into the system could be considered the
> equivalent of running a cgi script inside of mod_perl, there is no signal
> handler involved, but i now realize my original approach just isn't going
> to work.

I see, and the reset to the old configuration is related to something
within the system calling Log4perl's init()?

-- 
-- Mike

Mike Schilli
m...@perlmeister.com

>  the reason i'm not using 'init_and_watch()' is b/c we embed the
> configuration file inside the code base (which is contained in a custom,
> encrypted archive) and 'init_and_watch' only works w/ an external file,
> but in order to make this work, i think i'm going to have to use some kind
> of external configuration file or change how 'init_and_watch' works
> locally.
>
>  thanks!
>
> --
> -jae
>
>
>
>
> On 4/17/12 9:46 PM, "Mike Schilli" <m...@perlmeister.com> wrote:
>
>> On Tue, 17 Apr 2012, Gangemi, Jae wrote:
>>
>>>  am i missing something w/ this idea or will i need to re-initialize
>>>  log4perl w/ a new configuration in order to make this work?
>>
>> You're not saying how your call into the system works, I presume that
>> you're using a signal handler or some such to run a function that
>> manipulates the logger on a received signal. Then, somehow Log4perl gets
>> reinitialized by calling init() and it's back to normal. With mod_perl,
>> this happens e.g. when Apache starts a new child process, I suspect
>> something similar is happening in your embedded system.
>>
>> I wonder why you're not simply using init_and_watch() and modify the
>> external config file to regularly check and reload it?
>>
>> --
>> -- Mike
>>
>> Mike Schilli
>> m...@perlmeister.com
>>
>>> hello -
>>>
>>>  i'm currently running log4perl inside an embedded instance, for all
>>> intents and purposes, you could say it's an environment similar to
>>> mod_perl.
>>>
>>>  while the system is running, i would like to send a command that
>>> changes
>>> the log level of either the root logger or against one of the logger
>>> categories (and potentially dynamically adding an appender so i can log
>>> to
>>> a separate file.
>>>
>>>  the problem i am having the log level does not persist between calls
>>> into the system. i can make a call in and change the log level (and log
>>> a
>>> message at the new level to make sure it worked) but on a subsequent
>>> call,
>>> the log level has been reset to what log4perl was originally initialized
>>> with, i.e.:
>>>
>>>   $logger = Log::Log4perl->get_logger("");
>>>
>>>   $logger->fatal("fatal message");
>>>   $logger->trace("trace message, should not see");
>>>
>>>   $logger->level($TRACE);
>>>   $logger->level("trace message, should see");
>>>
>
>

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel

Reply via email to