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.

  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