mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-29 07:19:23 +01:00
Logfile now lives in data_dir
This commit is contained in:
parent
0f513f9581
commit
4fbdcd948f
@ -9,6 +9,7 @@ use strict;
|
|||||||
|
|
||||||
use feature 'unicode_strings';
|
use feature 'unicode_strings';
|
||||||
|
|
||||||
|
use File::Basename;
|
||||||
use Carp ();
|
use Carp ();
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
@ -18,19 +19,24 @@ sub new {
|
|||||||
|
|
||||||
my ($class, %conf) = @_;
|
my ($class, %conf) = @_;
|
||||||
|
|
||||||
my $log_file = delete $conf{log_file};
|
my $logfile = delete $conf{filename};
|
||||||
|
|
||||||
if (defined $log_file) {
|
if (defined $logfile) {
|
||||||
open PLOG_FILE, ">>$log_file" or Carp::croak "Couldn't open log file: $!\n" if defined $log_file;
|
my $path = dirname $logfile;
|
||||||
PLOG_FILE->autoflush(1);
|
if (not -d $path) {
|
||||||
|
print "Creating new logfile path: $path\n";
|
||||||
|
mkdir $path or Carp::croak "Couldn't create logfile path: $!\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
open LOGFILE, ">>$logfile" or Carp::croak "Couldn't open logfile $logfile: $!\n";
|
||||||
|
LOGFILE->autoflush(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
my $self = {
|
my $self = {
|
||||||
log_file => $log_file,
|
logfile => $logfile,
|
||||||
};
|
};
|
||||||
|
|
||||||
bless $self, $class;
|
bless $self, $class;
|
||||||
|
|
||||||
return $self;
|
return $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,8 +46,8 @@ sub log {
|
|||||||
|
|
||||||
$text =~ s/(\P{PosixGraph})/my $ch = $1; if ($ch =~ m{[\s]}) { $ch } else { sprintf "\\x%02X", ord $ch }/ge;
|
$text =~ s/(\P{PosixGraph})/my $ch = $1; if ($ch =~ m{[\s]}) { $ch } else { sprintf "\\x%02X", ord $ch }/ge;
|
||||||
|
|
||||||
if (defined $self->{log_file}) {
|
if (defined $self->{logfile}) {
|
||||||
print PLOG_FILE "$time :: $text";
|
print LOGFILE "$time :: $text";
|
||||||
}
|
}
|
||||||
|
|
||||||
print "$time :: $text";
|
print "$time :: $text";
|
||||||
|
35
PBot/PBot.pm
35
PBot/PBot.pm
@ -62,8 +62,25 @@ sub new {
|
|||||||
sub initialize {
|
sub initialize {
|
||||||
my ($self, %conf) = @_;
|
my ($self, %conf) = @_;
|
||||||
|
|
||||||
|
$self->{startup_timestamp} = time;
|
||||||
|
|
||||||
|
my $data_dir = $conf{data_dir};
|
||||||
|
my $module_dir = $conf{module_dir};
|
||||||
|
my $plugin_dir = $conf{plugin_dir};
|
||||||
|
|
||||||
|
# check command-line arguments for directory overrides
|
||||||
|
foreach my $arg (@ARGV) {
|
||||||
|
if ($arg =~ m/^(?:general\.)?((?:data|module|plugin)_dir)=(.*)$/) {
|
||||||
|
my $override = $1;
|
||||||
|
my $value = $2;
|
||||||
|
$data_dir = $value if $override eq 'data_dir';
|
||||||
|
$module_dir = $value if $override eq 'module_dir';
|
||||||
|
$plugin_dir = $value if $override eq 'plugin_dir';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# logger created first to allow other modules to log things
|
# logger created first to allow other modules to log things
|
||||||
$self->{logger} = PBot::Logger->new(log_file => $conf{log_file}, %conf);
|
$self->{logger} = PBot::Logger->new(filename => "$data_dir/log/log", %conf);
|
||||||
|
|
||||||
$self->{version} = PBot::VERSION->new(pbot => $self, %conf);
|
$self->{version} = PBot::VERSION->new(pbot => $self, %conf);
|
||||||
$self->{logger}->log($self->{version}->version . "\n");
|
$self->{logger}->log($self->{version}->version . "\n");
|
||||||
@ -79,22 +96,6 @@ sub initialize {
|
|||||||
|
|
||||||
$self->{refresher} = PBot::Refresher->new(pbot => $self);
|
$self->{refresher} = PBot::Refresher->new(pbot => $self);
|
||||||
|
|
||||||
my $data_dir = $conf{data_dir};
|
|
||||||
my $module_dir = $conf{module_dir};
|
|
||||||
my $plugin_dir = $conf{plugin_dir};
|
|
||||||
|
|
||||||
# check command-line arguments for directory overrides
|
|
||||||
foreach my $arg (@ARGV) {
|
|
||||||
if ($arg =~ m/^(?:general\.)?((?:data|module|plugin)_dir)=(.*)$/) {
|
|
||||||
my $override = $1;
|
|
||||||
my $value = $2;
|
|
||||||
$self->{logger}->log("Overriding $override to $value\n");
|
|
||||||
$data_dir = $value if $override eq 'data_dir';
|
|
||||||
$module_dir = $value if $override eq 'module_dir';
|
|
||||||
$plugin_dir = $value if $override eq 'plugin_dir';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# make sure the environment is sane
|
# make sure the environment is sane
|
||||||
if (not -d $data_dir) {
|
if (not -d $data_dir) {
|
||||||
$self->{logger}->log("Data directory ($data_dir) does not exist; aborting...\n");
|
$self->{logger}->log("Data directory ($data_dir) does not exist; aborting...\n");
|
||||||
|
0
log/.gitignore → data/log/.gitignore
vendored
0
log/.gitignore → data/log/.gitignore
vendored
3
pbot
3
pbot
@ -33,9 +33,6 @@ my %config = (
|
|||||||
# Path to directory containing loadable plugins
|
# Path to directory containing loadable plugins
|
||||||
plugin_dir => "$bothome/Plugins",
|
plugin_dir => "$bothome/Plugins",
|
||||||
|
|
||||||
# Path to log file
|
|
||||||
log_file => "$bothome/log/log",
|
|
||||||
|
|
||||||
# -----------------------------------------------------
|
# -----------------------------------------------------
|
||||||
# The bot can export the latest factoids and quotegrabs to an HTML
|
# The bot can export the latest factoids and quotegrabs to an HTML
|
||||||
# document. If you run a webserver or something similiar, you may
|
# document. If you run a webserver or something similiar, you may
|
||||||
|
Loading…
Reference in New Issue
Block a user