- Timestamp:
- 11/10/08 16:11:38 (8 weeks ago)
- Location:
- branches/pop-proxy-branch/ebox/src/EBox
- Files:
-
- 3 modified
-
Loggerd.pm (modified) (3 diffs)
-
Logs.pm (modified) (6 diffs)
-
Logs/Model/ConfigureLogDataTable.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/pop-proxy-branch/ebox/src/EBox/Loggerd.pm
r11607 r11612 82 82 if (EBox::Config::configkey('debug') eq 'yes') { 83 83 open(STDOUT, "+>$tmp/stout"); 84 open(STDERR, "+>$tmp/stderr");84 open(STDERR, "+>$tmp/stderr"); 85 85 } 86 86 … … 99 99 100 100 pipe $piperd, $pipewr; 101 $SIG {"INT"} = \&int_handler;101 $SIG{"INT"} = \&int_handler; 102 102 103 103 my @loghelpers = @{$self->{'loghelpers'}}; … … 105 105 for my $file (@{$obj->logFiles()}) { 106 106 my $tail; 107 eval { $tail = File::Tail->new(name => $file, 108 interval => 1, maxinterval => 1, 109 ignore_nonexistant => 1)}; 107 eval { 108 $tail = File::Tail->new(name => $file, 109 interval => 1, maxinterval => 1, 110 ignore_nonexistant => 1) 111 }; 110 112 111 113 if ($@) { -
branches/pop-proxy-branch/ebox/src/EBox/Logs.pm
r11604 r11612 104 104 my ($self) = @_; 105 105 106 $self->_saveEnabledLogs ();106 $self->_saveEnabledLogsModules(); 107 107 _stopService(); 108 108 … … 212 212 my $global = EBox::Global->getInstance(); 213 213 214 my $enabledLogs = $self->_restoreEnabledLogs ();214 my $enabledLogs = $self->_restoreEnabledLogsModules(); 215 215 216 216 # If there's no configuration stored it means the user … … 222 222 my @enabledObjects; 223 223 my @mods = @{$global->modInstancesOfType('EBox::LogObserver')}; 224 foreach my $object (@mods) { 225 my @tableInfos; 226 my $ti = $object->tableInfo(); 227 if (ref $ti eq 'HASH') { 228 EBox::warn('tableInfo() in ' . $object->name . 229 ' must return a reference to a list of hashes not the hash itself'); 230 231 @tableInfos = ( $ti ); 224 foreach my $mod (@mods) { 225 if ( $enabledLogs->{$mod->name } ) { 226 push (@enabledObjects, $mod->logHelper()); 232 227 } 233 else { 234 @tableInfos = @{ $ti }; 235 } 236 237 foreach my $tableInfo (@tableInfos) { 238 my $domain = $object->tableInfo()->{'index'}; 239 if (exists $enabledLogs->{$domain}) { 240 # XXX for now we share the logHelper object by all the log 241 # tables of the same module 242 push (@enabledObjects, $object->logHelper()); 243 last; 244 } 245 } 246 247 } 228 } 229 248 230 249 231 return \@enabledObjects; … … 681 663 # query ebox conf. 682 664 # 683 sub _saveEnabledLogs 665 sub _saveEnabledLogsModules 684 666 { 685 667 my ($self) = @_; … … 704 686 } 705 687 706 # Method: _restoreEnabledLogs 688 # Method: _restoreEnabledLogsModules 707 689 # 708 690 # (Private) 709 691 # 710 692 # This function restores the enabled logs saved in a file by 711 # <EBox::Logs::_saveEnabledLogs >693 # <EBox::Logs::_saveEnabledLogsModules> 712 694 # We have to do this beacuse the logger daemon will request this 713 695 # configuration as root user. … … 720 702 # undef - if there's no enabled logs stored yet 721 703 # hash ref containing the enabled logs 722 sub _restoreEnabledLogs 704 sub _restoreEnabledLogsModules 723 705 { 724 706 my ($self) = @_; -
branches/pop-proxy-branch/ebox/src/EBox/Logs/Model/ConfigureLogDataTable.pm
r11604 r11612 79 79 # 80 80 # 81 sub enabledLogs ()82 { 83 my $self = shift;81 sub enabledLogs 82 { 83 my ($self) = @_; 84 84 85 85 my %enabledLogs; … … 90 90 return \%enabledLogs; 91 91 } 92 93 94 95 # sub enabledLogsModules 96 # { 97 # my ($self) = @_; 98 99 # my %modules; 100 101 # my $enabledLogs = $self->enabledLogs(); 102 # my $allTables = EBox::Global->modInstance('logs')->getAllTables(); 103 # foreach my $index (keys %{ $enabledLogs }) { 104 # exists $allTables->{$index} or 105 # throw EBox::Exceptions::Internal( 106 # "$index not found in log tables" 107 # ); 108 109 # my $mod = $allTables->{$index}->{'helper'}; 110 # $modules{$mod->name()} = $mod; 111 # } 112 113 # return [ values %modules ]; 114 # } 92 115 93 116 # Method: rows … … 135 158 next if (exists $storedLogDomains{$domain}); 136 159 137 my @tableInfos;138 my $mod = $currentLogDomains{$domain};139 my $ti = $mod->tableInfo();140 160 my @tableInfos; 161 my $mod = $currentLogDomains{$domain}; 162 my $ti = $mod->tableInfo(); 163 141 164 if (ref $ti eq 'HASH') { 142 165 EBox::warn('tableInfo() in ' . $mod->name . … … 148 171 } 149 172 150 my $enabled = not grep {151 $_->{'disabledByDefault'}152 } @tableInfos;173 my $enabled = not grep { 174 $_->{'disabledByDefault'} 175 } @tableInfos; 153 176 154 177
