[Slim-Checkins] r10723 - in /trunk/server: Slim/Utils/Log.pm
scanner.pl slimserver.pl
dsully at svn.slimdevices.com
dsully at svn.slimdevices.com
Sat Nov 18 13:33:46 PST 2006
Author: dsully
Date: Sat Nov 18 13:33:45 2006
New Revision: 10723
URL: http://svn.slimdevices.com?rev=10723&view=rev
Log:
Bug: N/A
Description: Send STDERR to the log file.
Modified:
trunk/server/Slim/Utils/Log.pm
trunk/server/scanner.pl
trunk/server/slimserver.pl
Modified: trunk/server/Slim/Utils/Log.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/Log.pm?rev=10723&r1=10722&r2=10723&view=diff
==============================================================================
--- trunk/server/Slim/Utils/Log.pm (original)
+++ trunk/server/Slim/Utils/Log.pm Sat Nov 18 13:33:45 2006
@@ -126,7 +126,7 @@
# Add our default root logger
my @levels = ('WARN', $logtype);
- if (!$::quiet) {
+ if ($::daemon || !$::quiet) {
push @levels, 'screen';
}
@@ -775,11 +775,13 @@
'screen' => {
'appender' => 'Log::Log4perl::Appender::Screen',
+ 'stderr' => 0,
},
'screen-raw' => {
'appender' => 'Log::Log4perl::Appender::Screen',
- 'layout' => 'raw'
+ 'stderr' => 0,
+ 'layout' => 'raw',
},
'server' => {
@@ -800,7 +802,6 @@
'filename' => 'sub { Slim::Utils::Log::perfmonLogFile() }',
'layout' => 'raw'
},
-
);
return $class->_fixupAppenders(\%defaultAppenders);
@@ -874,6 +875,25 @@
=cut
+package Slim::Utils::Log::Trapper;
+
+use strict;
+
+sub TIEHANDLE {
+ my $class = shift;
+ bless [], $class;
+}
+
+sub PRINT {
+ my $self = shift;
+
+ $Log::Log4perl::caller_depth++;
+
+ Slim::Utils::Log::logger('')->warn("Warning: ", @_);
+
+ $Log::Log4perl::caller_depth--;
+}
+
1;
__END__
Modified: trunk/server/scanner.pl
URL: http://svn.slimdevices.com/trunk/server/scanner.pl?rev=10723&r1=10722&r2=10723&view=diff
==============================================================================
--- trunk/server/scanner.pl (original)
+++ trunk/server/scanner.pl Sat Nov 18 13:33:45 2006
@@ -82,6 +82,9 @@
'debug' => $debug,
});
+ # Redirect STDERR to the log file.
+ tie *STDERR, 'Slim::Utils::Log::Trapper';
+
my $log = logger('server');
# Bring up strings, database, etc.
Modified: trunk/server/slimserver.pl
URL: http://svn.slimdevices.com/trunk/server/slimserver.pl?rev=10723&r1=10722&r2=10723&view=diff
==============================================================================
--- trunk/server/slimserver.pl (original)
+++ trunk/server/slimserver.pl Sat Nov 18 13:33:45 2006
@@ -221,9 +221,6 @@
# initialize the process and daemonize, etc...
srand();
- autoflush STDERR;
- autoflush STDOUT;
-
# The revision file may not exist for svn copies.
$REVISION = eval { File::Slurp::read_file(
catdir(Slim::Utils::OSDetect::dirsFor('revision'), 'revision.txt')
@@ -248,6 +245,9 @@
'logtype' => 'server',
'debug' => $debug,
});
+
+ # Redirect STDERR to the log file.
+ tie *STDERR, 'Slim::Utils::Log::Trapper';
# Load a log handler for prefs now.
Slim::Utils::Prefs::loadLogHandler();
@@ -684,10 +684,6 @@
}
open STDOUT, '>>/dev/null';
-
- if (!open STDERR, '>&STDOUT') {
- die "Can't dup stdout: $!";
- }
}
sub changeEffectiveUserAndGroup {
More information about the checkins
mailing list