[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