#########################################################
# Print a header into a newly opened file
#########################################################
$data = qq(
log4perl.category = DEBUG, Logfile
log4perl.appender.Logfile = Log::Log4perl::Appender::File
log4perl.appender.Logfile.filename = ${testfile}_5
log4perl.appender.Logfile.header_text = This is a nice header.
log4perl.appender.Logfile.layout = Log::Log4perl::Layout::SimpleLayo
+ut
);
Log::Log4perl->init(\$data);
open FILE, "<${testfile}_5" or die "Cannot open ${testfile}_5";
$content = join '', <FILE>;
close FILE;
is($content, "This is a nice header.\n", "header_text");
# same with syswrite
unlink "${testfile}_5";
$data = qq(
log4perl.category = DEBUG, Logfile
log4perl.appender.Logfile = Log::Log4perl::Appender::File
log4perl.appender.Logfile.filename = ${testfile}_5
log4perl.appender.Logfile.header_text = This is a nice header.
log4perl.appender.Logfile.syswrite = 1
log4perl.appender.Logfile.layout = Log::Log4perl::Layout::SimpleLayou
+t
log4perl.appender.Logfile.mode = clobber
);
Log::Log4perl->init(\$data);
I made mistakes on the way to get this, in particular changing the critical line
log4perl.appender.Logfile.mode = clobber
in Log4perl.pm . I've always wondered how to make changes in the .pm's that are installed on my machine. It seemed like the wrong way to have to change permissions on the file, but I did it, because, hey, we're using force here, right? I added the line and summarily got an error when opening a cpan client window.
After patching the right file and executing:
C:\Users\tblaz\Documents\evelyn\my_repos\Log-Log4perl-1.49>cpanm .
--> Working on .
Configuring Log-Log4perl-1.49 ... OK
Building and testing Log-Log4perl-1.49 ... OK
Successfully installed Log-Log4perl-1.49
1 distribution installed
C:\Users\tblaz\Documents\evelyn\my_repos\Log-Log4perl-1.49>
, Log4perl.pm was restored to what it was before I started messing with it. I still get a complaint about the Terminal Size, but there is no mention of Log4perl being uninstalled:
Unable to get Terminal Size. The Win32 GetConsoleScreenBufferInfo call
+ didn't work. The COLUMNS and LINES environment variables didn't work
+. at C:\Strawberry\perl\vendor\lib/Term/ReadLine/readline.pm line 410
+.
cpan shell -- CPAN exploration and modules installation (v2.26)
Enter 'h' for help.
cpan>
Thanks all for comments, |