[log4perl-devel] DBIC Object not interpreted

2010-05-10 Thread Steve

Where $newsub is an object, the following fails to work as I expected it to:

$logger->info("Created sub->", $newsub->ptn);

Since my log is a text file, this yields the following line in the file:
2010/05/10 16:38:59 INFO> cmsIMsubs-S.pl:176 main::getSubs - Created 
sub->CMS::Schema::Result::Subscription=HASH(0x96b9164)->ptn


In case it's not obvious, I'd like to log the phone number, not what 
type of object I'm looking at.


TIA
<>--

___
log4perl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/log4perl-devel


[log4perl-devel] Having a module inherit log level from caller

2011-07-23 Thread Steve Chadsey
I have a script that "use"s various other modules.  The script will
take a command-line argument that dictates the log level, i.e., "WARN",
"ERROR", etc.  The script initializes a Log4perl instance using this level.
The script calls functions from the external modules, for which I would
like to have Log4perl log using the same log level that the calling script
has initialized.

Here is a simple example of what I have:

---[start Logging.pm]-
#!/usr/bin/perl -w
package Logging;
use strict;
use Log::Log4perl qw(get_logger :levels);
use base 'Exporter';

our @EXPORT_OK  = qw($dbg_method_msg $logger statusMessage logMessage);
my $log_conf = q{
log4perl.category.MODULE = ERROR, moduleDebug, moduleRest
# Filter to match level DEBUG
log4perl.filter.MatchDebug = Log::Log4perl::Filter::LevelMatch
log4perl.filter.MatchDebug.LevelToMatch  = DEBUG
log4perl.filter.MatchDebug.AcceptOnMatch = true

# Filter to match everything but DEBUG
log4perl.filter.MatchRest  = Log::Log4perl::Filter::LevelMatch
log4perl.filter.MatchRest.LevelToMatch  = DEBUG
log4perl.filter.MatchRest.AcceptOnMatch = false

# layout for DEBUG messages
log4perl.appender.moduleDebug = Log::Log4perl::Appender::Screen
log4perl.appender.moduleDebug.layout   =
Log::Log4perl::Layout::PatternLayout
log4perl.appender.moduleDebug.layout.ConversionPattern =
[%d{-MM-dd HH:mm:ss}] %M:%L %p: %m%n
log4perl.appender.moduleDebug.Filter   = MatchDebug
log4perl.appender.moduleDebug.stderr   = 0


# Normal layout for the rest
log4perl.appender.moduleRest = Log::Log4perl::Appender::Screen
log4perl.appender.moduleRest.layout   = Log::Log4perl::Layout::PatternLayout
log4perl.appender.moduleRest.layout.ConversionPattern =
[%d{-MM-dd HH:mm:ss}] %C %p: %m%n
log4perl.appender.moduleRest.Filter   = MatchRest
log4perl.appender.moduleRest.stderr   = 0

log4perl.category.SCRIPT = ERROR, script
log4perl.appender.script = Log::Log4perl::Appender::Screen
log4perl.appender.script.stderr = 0
log4perl.appender.script.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.script.layout.ConversionPattern = [%d{-MM-dd
HH:mm:ss}] %F{1} %p: %m%n
};

Log::Log4perl->init( \$log_conf );

sub scriptInit
{
  our $logger = get_logger("SCRIPT");
}
1;
---[end Logging.pm]-

---[start Package.pm]-
#!/usr/bin/perl -w
package Package;
use strict;
use Carp qw( carp croak );
use Logging;
use Log::Log4perl qw(get_logger );
my $logger = Log::Log4perl->get_logger("MODULE");

use vars qw( @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS );
use Exporter;
@ISA= qw(Exporter);
@EXPORT = qw();
@EXPORT_OK =
  qw(
  logTest
);

sub logTest
{
  $logger->info("info message");
  $logger->warn("warn message");
  $logger->error("error message");
}

1;
---[end Package.pm]-

---[start script.pl]-
#!/usr/bin/perl -w
use strict;
#use FindBin;
#use lib "$FindBin::RealBin/../../../lib";
use Logging qw( $logger );
use Package qw(logTest );

Logging->scriptInit();

$logger->level("INFO");
$logger->info("Calling logTest()");
logTest();
---[end]-

As it stands, the output of this script is:

[2011-07-22 10:58:41] script.pl INFO: Calling logTest()
[2011-07-22 10:58:41] Package ERROR: error message

What I want is:

[2011-07-22 10:58:41] script.pl INFO: Calling logTest()
[2011-07-22 10:58:41] Package INFO: info message
[2011-07-22 10:58:41] Package WARN: warn message
[2011-07-22 10:58:41] Package ERROR: error message

How can I do that?

Thanks,
-- 
Steve Chadsey 

--
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
___
log4perl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/log4perl-devel