You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(38) |
Sep
(126) |
Oct
(23) |
Nov
(72) |
Dec
(36) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(76) |
Feb
(32) |
Mar
(19) |
Apr
(6) |
May
(54) |
Jun
(40) |
Jul
(45) |
Aug
(35) |
Sep
(51) |
Oct
(67) |
Nov
(10) |
Dec
(50) |
| 2004 |
Jan
(51) |
Feb
(22) |
Mar
(22) |
Apr
(28) |
May
(53) |
Jun
(99) |
Jul
(38) |
Aug
(49) |
Sep
(23) |
Oct
(29) |
Nov
(30) |
Dec
(48) |
| 2005 |
Jan
(15) |
Feb
(21) |
Mar
(25) |
Apr
(16) |
May
(131) |
Jun
|
Jul
(8) |
Aug
(5) |
Sep
(15) |
Oct
|
Nov
(15) |
Dec
(12) |
| 2006 |
Jan
(15) |
Feb
(20) |
Mar
(8) |
Apr
(10) |
May
(3) |
Jun
(16) |
Jul
(15) |
Aug
(11) |
Sep
(17) |
Oct
(27) |
Nov
(11) |
Dec
(12) |
| 2007 |
Jan
(19) |
Feb
(18) |
Mar
(33) |
Apr
(4) |
May
(15) |
Jun
(22) |
Jul
(19) |
Aug
(20) |
Sep
(14) |
Oct
(4) |
Nov
(34) |
Dec
(11) |
| 2008 |
Jan
(8) |
Feb
(18) |
Mar
(2) |
Apr
(4) |
May
(26) |
Jun
(9) |
Jul
(8) |
Aug
(8) |
Sep
(3) |
Oct
(17) |
Nov
(14) |
Dec
(4) |
| 2009 |
Jan
(6) |
Feb
(41) |
Mar
(21) |
Apr
(10) |
May
(21) |
Jun
|
Jul
(8) |
Aug
(4) |
Sep
(3) |
Oct
(8) |
Nov
(6) |
Dec
(5) |
| 2010 |
Jan
(14) |
Feb
(13) |
Mar
(7) |
Apr
(12) |
May
(4) |
Jun
(1) |
Jul
(11) |
Aug
(5) |
Sep
|
Oct
(1) |
Nov
(10) |
Dec
|
| 2011 |
Jan
(7) |
Feb
(3) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(1) |
Jul
(6) |
Aug
(6) |
Sep
(10) |
Oct
(5) |
Nov
(4) |
Dec
(5) |
| 2012 |
Jan
(4) |
Feb
(5) |
Mar
(1) |
Apr
(7) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
(5) |
Oct
(5) |
Nov
(4) |
Dec
(5) |
| 2013 |
Jan
(6) |
Feb
|
Mar
(14) |
Apr
(9) |
May
(3) |
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(4) |
Dec
(6) |
| 2014 |
Jan
|
Feb
(1) |
Mar
(10) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
(1) |
Nov
|
Dec
(4) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
|
From: Mike S. <msc...@ao...> - 2003-09-06 07:06:24
|
Kevin Goess wrote: > Maybe you should write your own appender class, replace or subclass > Log::Dispatch::File altogether, then you could close old/open new on > whenever you want. Yup, or use Log::Log4perl::Appender::File, respectively ;). -- -- Mike Mike Schilli m...@pe... |
|
From: Kevin G. <ke...@go...> - 2003-09-05 19:56:14
|
Reinhold Redel wrote: > I might add a function > to the appender, to be called with the appender obj and a new filename als > paramater. this function would then close the filehandle of the old logfile, > create a new filehandle with the defined properties, change the name of the > logfile in the datastructure ... Maybe you should write your own appender class, replace or subclass Log::Dispatch::File altogether, then you could close old/open new on whenever you want. There's not that much to it, there's only about 100 lines of code in Log::Dispatch::File. -- Happy Trails . . . Kevin M. Goess (and Anne and Frank) 904 Carmel Ave. Albany, CA 94706 (510) 525-5217 |
|
From: Reinhold R. <rei...@gm...> - 2003-09-05 16:42:33
|
Hi Kevin, thanks for your answer. Sorry, But I don't know the names of all the tasks in advance. so switching at runtime is not possible. I might add a function to the appender, to be called with the appender obj and a new filename als paramater. this function would then close the filehandle of the old logfile, create a new filehandle with the defined properties, change the name of the logfile in the datastructure ... could I come to a working solution for my problem this way? thanks and greetings Reinhold Kevin Goess schrieb: > Reinhold Redel wrote: > >> Now my program has become a daemon. to support logging in the usual >> way I have the need to change the filename for logging with every task. >> I looked eg. for a function to delete an appender once added to a logger, >> or to change the filename for output at least, But didn't find anything >> in the doc. > > > Not to sound negative, but I would be suprised if you got it to work > that way. As an alternative, do you know the names of all the tasks in > advance? Then you could instantiate a logger for each one and switch > between them at runtime. -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post |
|
From: Kevin G. <ke...@go...> - 2003-09-05 15:21:34
|
Reinhold Redel wrote: > Now my program has become a daemon. to support logging in the usual > way I have the need to change the filename for logging with every task. > I looked eg. for a function to delete an appender once added to a logger, > or to change the filename for output at least, But didn't find anything > in the doc. Not to sound negative, but I would be suprised if you got it to work that way. As an alternative, do you know the names of all the tasks in advance? Then you could instantiate a logger for each one and switch between them at runtime. -- Happy Trails . . . Kevin M. Goess (and Anne and Frank) 904 Carmel Ave. Albany, CA 94706 (510) 525-5217 |
|
From: Reinhold R. <rei...@gm...> - 2003-09-05 07:39:44
|
Hi all, I'm using log4perl to log program behavior into user specific logfiles with the file appender. furthermore program results are logged into a file using another file appender. The filename of this file depends on a jobid given to the program at start time. Now my program has become a daemon. to support logging in the usual way I have the need to change the filename for logging with every task. I looked eg. for a function to delete an appender once added to a logger, or to change the filename for output at least, But didn't find anything in the doc. So a took a quick look at the code and tried out the reset function. ok, it worked, but memory usage increased with every new task. Has anyone had this problem too, and how has it been solved. Or isn't there a solution? many thanks greetings Reinhold -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post |
|
From: <wi...@te...> - 2003-09-02 09:22:52
|
You sent to user lekawica message with VIRUS . ====================================== KAV Report: ====================================== infected: I-Worm.Sobig.f.txt wicked_scr.scr infected: I-Worm.Sobig.f ====================================== Zegnam ! |
|
From: Mike S. <msc...@ao...> - 2003-08-29 03:45:35
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> <font face="Arial,sans-serif"><font size="2">You nailed it, thanks for the patch! I've added it and checked it in. It's going to be part of 0.37.<br> <br> <span type="cite">Mac Yang wrote:</span> </font></font> <p><font face="Arial,sans-serif" size="2"></font></p> <blockquote type="cite" ><font face="Arial,sans-serif" size="2">Please change the logic to,<br> <tt>my $z = $t[1]-$g[1]+($t[2]-$g[2])*60+($t[7]-$g[7])*1440+($t[5]-$g[5])*<font color="#ff0000">(525600+(abs($t[7]-$g[7])>364)*1440)</font>;</tt><br> </font></blockquote> <font face="Arial,sans-serif"><font size="2"><br> <span>-- <br> -- Mike<br> Mike Schilli<br> <a class="moz-txt-link-abbreviated" href="mailto:m...@pe...">m...@pe...</a></span></font></font> </body> </html> |
|
From: Mike S. <msc...@ao...> - 2003-08-28 01:27:36
|
Mac Yang wrote:
> I have added the support for timezone offset (the Z option). Please take
> a look and let me know if you could incorporate the offset support into
> the next release.
Thanks! However, the algorithm you're using seems to fail on certain
dates near year-end (probably because it assumes 365-days-years).
Here's a script to prove it:
my $time = time();
my $saved;
for(my $t = $time; ; $time += 1800) {
my $tz = tz($time);
$saved = $tz unless defined $saved;
if($tz != $saved) {
print scalar localtime($time), ": $tz\n";
$saved = $tz;
}
}
############################################################
sub tz {
############################################################
my($time) = @_;
my @g = gmtime($time);
my @t = localtime($time);
my $z = $t[1]-$g[1]+($t[2]-$g[2])*60+($t[7]-$g[7])*1440+
($t[5]-$g[5])*525600;
my $offset = sprintf("%+.2d%.2d", $z/60, "00");
return $offset;
}
__END__
It shows (here in the PST time zone):
Sun Oct 26 01:13:13 2003: -0800
Sun Apr 4 03:13:13 2004: -0700
Sun Oct 31 01:13:13 2004: -0800
Fri Dec 31 16:13:13 2004: +1600
Sat Jan 1 00:13:13 2005: -0800
Sun Apr 3 03:13:13 2005: -0700
Would be great if you could look into that.
> On a separate thread, is it safe to use log4perl (with FileRotate
> appender) with a program that forks subprocesses (log4perl are called
> from both the parent and children processes)? Does log4perl performs any
> sort of file locking? There was a similar question posted to the
> log4j-user list about a month ago, but no answer so far.
Log4perl's file appender doesn't obtain a lock to the file it writes to,
so spawning several processes with file appenders writing to the same
file will mangle your log lines (and probably cause additional problems
with the rotating file appender). However, you could write a locking
file appender to avoid that. Or just have each child log to a different
file.
Let me know what you find out about that timezone problem, I'm
definitely interested in adding your contribution to the distribution.
-- Mike
Mike Schilli
log...@pe...
|
|
From: Mike S. <msc...@ao...> - 2003-08-28 01:15:18
|
-------- Original Message --------
Subject: Timezone offset support for Log::Log4perl::DateFormat
Date: 8/27/2003, 4:00 PM
From: Mac Yang <ma...@pr...>
To: log...@pe...
Hi,
I have added the support for timezone offset (the Z option). Please take
a look and let me know if you could incorporate the offset support into
the next release.
On a separate thread, is it safe to use log4perl (with FileRotate
appender) with a program that forks subprocesses (log4perl are called
from both the parent and children processes)? Does log4perl performs any
sort of file locking? There was a similar question posted to the
log4j-user list about a month ago, but no answer so far.
Thanks in advance,
mac
###########################################
package Log::Log4perl::DateFormat;
###########################################
use warnings;
use strict;
our $GMTIME = 0;
my @MONTH_NAMES = qw(
January February March April May June July
August September October November December);
my @WEEK_DAYS = qw(
Sunday Monday Tuesday Wednesday Thursday Friday);
###########################################
sub new {
###########################################
my($class, $format) = @_;
my $self = {
stack => [],
fmt => undef,
};
bless $self, $class;
# Predefined formats
if($format eq "ABSOLUTE") {
$format = "HH:mm:ss,SSS";
} elsif($format eq "DATE") {
$format = "dd MMM yyyy HH:mm:ss,SSS";
} elsif($format eq "ISO8601") {
$format = "yyyy-MM-dd HH:mm:ss,SSS";
}
if($format) {
$self->prepare($format);
}
return $self;
}
###########################################
sub prepare {
###########################################
my($self, $format) = @_;
$format =~ s/(([GyMdhHmsSEDFwWakKzZ])\2*)/rep($self, $1)/ge;
$self->{fmt} = $format;
}
###########################################
sub rep {
###########################################
my ($self, $string) = @_;
my $first = substr $string, 0, 1;
my $len = length $string;
my $time=time();
my @g = gmtime($time);
my @t = localtime($time);
my $z =
$t[1]-$g[1]+($t[2]-$g[2])*60+($t[7]-$g[7])*1440+($t[5]-$g[5])*525600;
my $offset = sprintf("%+.2d%.2d", $z/60, "00");
#my ($s,$mi,$h,$d,$mo,$y,$wd,$yd,$dst) = localtime($time);
# Here's how this works:
# Detect what kind of parameter we're dealing with and determine
# what type of sprintf-placeholder to return (%d, %02d, %s or
whatever).
# Then, we're setting up an array, specific to the current format,
# that can be used later on to compute the components of the
placeholders
# one by one when we get the components of the current time later on
# via localtime.
# So, we're parsing the "yyyy/MM" format once, replace it by, say
# "%04d:%02d" and store an array that says "for the first placeholder,
# get the localtime-parameter on index #5 (which is years since the
# epoch), add 1900 to it and pass it on to sprintf(). For the 2nd
# placeholder, get the localtime component at index #2 (which is hours)
# and pass it on unmodified to sprintf.
# So, the array to compute the time format at logtime contains
# as many elements as the original SimpleDateFormat contained. Each
# entry is a arrary ref, holding an array with 2 elements: The index
# into the localtime to obtain the value and a reference to a
subroutine
# to do computations eventually. The subroutine expects the orginal
# localtime() time component (like year since the epoch) and returns
# the desired value for sprintf (like y+1900).
# This way, we're parsing the original format only once (during system
# startup) and during runtime all we do is call localtime *once* and
# run a number of blazingly fast computations, according to the number
# of placeholders in the format.
###########
#G - epoch#
###########
if($first eq "G") {
# Always constant
return "AD";
##########
#y - year#
##########
} elsif($first eq "y") {
if($len >= 4) {
# 4-digit year
push @{$self->{stack}}, [5, sub { return $_[0] + 1900 }];
return "%04d";
} else {
# 2-digit year
push @{$self->{stack}}, [5, sub { $_[0] % 100 }];
return "%02d";
}
###########
#M - month#
###########
} elsif($first eq "M") {
if($len >= 3) {
# Use month name
push @{$self->{stack}}, [4, sub { return $MONTH_NAMES[$_[0]]
}];
return "%s";
} elsif($len == 2) {
# Use zero-padded month number
push @{$self->{stack}}, [4, sub { $_[0]+1 }];
return "%02d";
} else {
# Use zero-padded month number
push @{$self->{stack}}, [4, sub { $_[0]+1 }];
return "%d";
}
##################
#d - day of month#
##################
} elsif($first eq "d") {
push @{$self->{stack}}, [3, sub { return $_[0] }];
return "%0" . $len . "d";
##################
#h - am/pm hour#
##################
} elsif($first eq "h") {
push @{$self->{stack}}, [2, sub { ($_[0] % 12) || 12 }];
return "%0" . $len . "d";
##################
#H - 24 hour#
##################
} elsif($first eq "H") {
push @{$self->{stack}}, [2, sub { return $_[0] }];
return "%0" . $len . "d";
##################
#m - minute#
##################
} elsif($first eq "m") {
push @{$self->{stack}}, [1, sub { return $_[0] }];
return "%0" . $len . "d";
##################
#s - second#
##################
} elsif($first eq "s") {
push @{$self->{stack}}, [0, sub { return $_[0] }];
return "%0" . $len . "d";
##################
#E - day of week #
##################
} elsif($first eq "E") {
push @{$self->{stack}}, [6, sub { $WEEK_DAYS[$_[0]] }];
return "%${len}s";
######################
#D - day of the year #
######################
} elsif($first eq "D") {
push @{$self->{stack}}, [7, sub { $_[0] }];
return "%${len}s";
######################
#a - am/pm marker #
######################
} elsif($first eq "a") {
push @{$self->{stack}}, [2, sub { $_[0] < 12 ? "AM" : "PM" }];
return "%${len}s";
######################
#S - milliseconds #
######################
} elsif($first eq "S") {
push @{$self->{stack}},
[9, sub { substr sprintf("%06d", $_[0]), 0, $len }];
return "%s";
###############################
#Z - RFC 822 time zone -0800 #
###############################
} elsif($first eq "Z") {
push @{$self->{stack}}, [10, sub { $offset }];
return "$offset";
#############################
#Something that's not defined
#(F=day of week in month
# w=week in year W=week in month
# k=hour in day K=hour in am/pm
# z=timezone
#############################
} else {
return "-- '$first' not (yet) implemented --";
}
return $string;
}
###########################################
sub format {
###########################################
my($self, $secs, $msecs) = @_;
$msecs = 0 unless defined $msecs;
my @time;
if($GMTIME) {
@time = gmtime($secs);
} else {
@time = localtime($secs);
}
# add milliseconds
push @time, $msecs;
my @values = ();
for(@{$self->{stack}}) {
my($val, $code) = @$_;
if($code) {
push @values, $code->($time[$val]);
} else {
push @values, $time[$val];
}
}
return sprintf($self->{fmt}, @values);
}
1;
__END__
=head1 NAME
Log::Log4perl::DateFormat - Log4perl advanced date formatter helper class
=head1 SYNOPSIS
use Log::Log4perl::DateFormat;
my $format = Log::Log4perl::DateFormat->new("HH:mm:ss,SSS");
# Simple time, resolution in seconds
my $time = time();
print $format->format($time), "\n";
# => "17:02:39,000"
# Advanced time, resultion in milliseconds
use Time::HiRes;
my ($secs, $msecs) = Time::HiRes::gettimeofday();
print $format->format($secs, $msecs), "\n";
# => "17:02:39,959"
=head1 DESCRIPTION
C<Log::Log4perl::DateFormat> is a low-level helper class for the
advanced date formatting functions in
C<Log::Log4perl::Layout::PatternLayout>.
Unless you're writing your own Layout class like
L<Log::Log4perl::Layout::PatternLayout>, there's probably not much use
for you to read this.
C<Log::Log4perl::DateFormat> is a formatter which allows dates to be
formatted according to the log4j spec on
http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/PatternLayout.html
which allows the following placeholders to be recognized and processed:
Symbol Meaning Presentation Example
------ ------- ------------ -------
G era designator (Text) AD
y year (Number) 1996
M month in year (Text & Number) July & 07
d day in month (Number) 10
h hour in am/pm (1~12) (Number) 12
H hour in day (0~23) (Number) 0
m minute in hour (Number) 30
s second in minute (Number) 55
S millisecond (Number) 978
E day in week (Text) Tuesday
D day in year (Number) 189
F day of week in month (Number) 2 (2nd Wed in July)
w week in year (Number) 27
W week in month (Number) 2
a am/pm marker (Text) PM
k hour in day (1~24) (Number) 24
K hour in am/pm (0~11) (Number) 0
z time zone (Text) Pacific Standard Time
' escape for text (Delimiter)
'' single quote (Literal) '
For example, if you want to format the current Unix time in
C<"MM/dd HH:mm"> format, all you have to do is this:
use Log::Log4perl::DateFormat;
my $format = Log::Log4perl::DateFormat->new("MM/dd HH:mm");
my $time = time();
print $format->format($time), "\n";
While the C<new()> method is expensive, because it parses the format
strings and sets up all kinds of structures behind the scenes,
followup calls to C<format()> are fast, because C<DateFormat> will
just call C<localtime()> and C<sprintf()> once to return the formatted
date/time string.
So, typically, you would initialize the formatter once and then reuse
it over and over again to display all kinds of time values.
Also, for your convenience,
the following predefined formats are available, just as outlined in the
log4j spec:
Format Equivalent Example
ABSOLUTE "HH:mm:ss,SSS" "15:49:37,459"
DATE "dd MMM yyyy HH:mm:ss,SSS" "06 Nov 1994 15:49:37,459"
ISO8601 "yyyy-MM-dd HH:mm:ss,SSS" "1999-11-27 15:49:37,459"
So, instead of passing
Log::Log4perl::DateFormat->new("HH:mm:ss,SSS");
you could just as well say
Log::Log4perl::DateFormat->new("ABSOLUTE");
and get the same result later on.
=head2 Known Shortcomings
The following placeholders are currently I<not> recognized, unless
someone (and that could be you :) implements them:
F day of week in month
w week in year
W week in month
k hour in day
K hour in am/pm
z timezone
Also, C<Log::Log4perl::DateFormat> just knows about English week and
month names, internationalization support has to be added.
=head1 SEE ALSO
=head1 AUTHOR
Mike Schilli, <log...@pe...>
=cut
|
|
From: <pos...@ps...> - 2003-08-26 14:45:13
|
The file you have sent was infected with a virus but InterScan E-Mail VirusWall could not clean it. |
|
From: Mike S. <msc...@ao...> - 2003-08-24 23:37:01
|
JJ Pittet wrote: > When using the perl debugger (via perl -d), I seem to get an incredible > amount of warnings comming from the Log4perl package. Interesting ... but I seem to be unable to reproduce that behaviour, even with perl 5.8.0. Can you provide a (preferably small) code snippet that shows the effect? Also, please include a "perl -V". -- -- Mike Mike Schilli m...@pe... |
|
From: JJ P. <pit...@ho...> - 2003-08-24 17:59:04
|
Hi all
When using the perl debugger (via perl -d), I seem to get an incredible
amount of warnings comming from the Log4perl package.
Something to do the "typeglobbing"
Undefined value assigned to typeglob at /usr/lib/perl5/5.8.0/perl5db.pl line
673.
diagnostics::warn_trap('Undefined value assigned to typeglob at
/usr/lib/perl5/5.8.0/...') called at /usr/lib/perl5/5.8.0/perl5db.pl line
673
DB::DB called at (eval
101)[/usr/lib/perl5/site_perl/5.8.0/Log/Log4perl/Logger.pm:252] line 5
Log::Log4perl::Logger::__ANON__[(eval
101)[/usr/lib/perl5/site_perl/5.8.0/Log/Log4perl/Logger.pm:252]:54]('Log::Log4perl::Logger=HASH(0x8d7ea90)','Constructor
mytest called.') called at
/usr/lib/perl5/site_perl/5.8.0/Log/Log4perl/Logger.pm line 608
The only way i can debug is with the perl -dX switch (turning off warnings).
Is this normal? Switch to panic mode?
Greetings
JJ
_________________________________________________________________
|
|
From: Beijing C. T. <tra...@ey...> - 2003-08-22 15:26:37
|
<!-- saved from url=(0022)http://internet.e-mail -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Cost</title>
</head>
<body>
<div align="center">
<center>
<table border="1" width="651" height="465">
<tr>
<td width="651" height="465">
<p align="center" style="margin-left:12.0pt;text-align:center;
text-indent:-12.0pt;mso-char-indent-count:-1.0;mso-char-indent-size:12.0pt;
line-height:12.0pt;mso-line-height-rule:exactly;mso-pagination:widow-orphan"><font face="Times New Roman"><span lang="EN-US" style="font-size: 12.0pt; mso-bidi-font-size: 13.5pt; color: #006600">Cost-Effective Solutions for Global</span><span lang="EN-US" style="font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:Arial;
color:#006600"> Translations!</span><span lang="EN-US" style="font-size:
14.0pt;mso-bidi-font-size:10.0pt;font-family:Arial;color:white"><br>
</span><span lang="EN-US" style="mso-bidi-font-size:13.5pt;color:#CC3300"><b>Beijing
Expert
Translation Co., Ltd.</b></span></font></p>
<p align="left" style="text-align:left;line-height:12.0pt;
mso-line-height-rule:exactly;mso-pagination:widow-orphan"><font face="Times New Roman"><span lang="EN-US">Dear
International Manager:</span><span lang="EN-US" style="font-family:宋体;mso-font-kerning:
0pt"><o:p>
</o:p>
</span></font></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><span lang="EN-US"><font face="Times New Roman">The
Beijing Expert Translation Co., Ltd. is based in Beijing, China, providing high
quality translation services in most of the world’s commercially significant
languages. In addition to considerable expertise English
translations, we offer translation services in the following
languages-pairs:</font></span></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><span lang="EN-US"><font face="Times New Roman">French-Chinese, Chinese-French, German-Chinese,
Chinese-German, Japanese-Chinese, Chinese-Japanese, Russian-Chinese,
Chinese-Russian, Korean-Chinese, and Chinese-Korean.<o:p>
</o:p>
</font>
</span></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><span lang="EN-US"><font face="Times New Roman">We
have proven proficiency in large-scale projects and excellent continuing
relationships with recognized multinational corporations such as
P&G, the Delaware Corporation, Multiling Corporation and many of
China’s governmental organizations and publishing houses. Our service
offering extends from technical and marking materials to over 30
published works of literature. We have in-depth experience in the areas
of :<o:p>
</o:p>
</font>
</span></p>
<table border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;
border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt">
<tr>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Medicine and Medical Instrumentation<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Mechanics and Materials Engineering<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Architecture<o:p>
</o:p>
</font>
</span></p>
</td>
</tr>
<tr>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Software & IT<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Automotive and Railway<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Cultural and Social Sciences<o:p>
</o:p>
</font>
</span></p>
</td>
</tr>
<tr>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Chemistry and Chemical Engineering<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt">Finance and Economics</span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"><o:p>
</o:p>
</span></font></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Geology and Environment Protection<o:p>
</o:p>
</font>
</span></p>
</td>
</tr>
<tr>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Biology<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Corporate Management<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Commerce<o:p>
</o:p>
</font>
</span></p>
</td>
</tr>
<tr>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Law and Legal Documentation<o:p>
</o:p>
</font>
</span></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 10.0pt"> Insurance</span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:13.5pt;font-family:
Arial"><o:p>
</o:p>
</span></font></p>
</td>
<td width="229" valign="top" style="width:171.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt">
<p align="center" style="text-align:center;line-height:12.0pt;mso-line-height-rule:
exactly"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt"><font face="Times New Roman">Education<o:p>
</o:p>
</font>
</span></p>
</td>
</tr>
</table>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 13.5pt">With
a staff of eight full-time employees and 1,500 staff translators,
we are fully able to deal with the most challenging of projects,
regardless of size or complexity. A majority of our managers and
full-time employees have doctoral or master’s degrees in science,
law or other specialties and have considerable knowledge of our client's
areas of business activity. </span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"><o:p>
</o:p>
</span></font></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 1.0pt">We translate both in the traditional way, by human
professionals, and by computer-aided translation software. We use
industry-standard software such as Star Transit and TermStar. The
combination of translation professionals and advanced software
technology produces higher quality and elevated productivity.</span><span lang="EN-US" style="font-size:
10.5pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman""> </span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"><o:p>
</o:p>
</span></font></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 10.0pt">We
would greatly appreciate any opportunity to find cost-effective and
professional solutions to your company’s translations needs. Our
management and staff look forward to hearing from you soon!</span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"><o:p>
</o:p>
</span></font></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 10.0pt">Dr.
Wei Zhen </span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:
10.0pt"><o:p>
</o:p>
</span></font></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 10.0pt">General
Manager<br>
Beijing Expert Translation Co., Ltd.<br>
<br>
Tel: 0086-10-82115891 82115892 Fax: 0086-10-82115893<br>
</span><span lang="IT" style="font-size:10.5pt;mso-bidi-font-size:10.0pt;
font-family:"Times New Roman";mso-font-kerning:1.0pt;mso-ansi-language:IT">E-mail:
bj...@16... </span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"></o:p>
</span></font></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:13.5pt"><font face="Times New Roman">Rates: </font></span></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"><font face="Times New Roman">English-Chinese:
US$0.045-0.05/English word<br>
Chinese-English: US$0.065-0.08/English word<br>
French-Chinese:<span style="mso-spacerun: yes"> </span>US$0.055-0.06/French
word<br>
Chinese-French:<span style="mso-spacerun: yes"> </span>US$0.065-0.08/French
word<br>
German-Chinese: US$0.055-0.06 per German word<br>
Chinese-German: US$0.065-0.08 per German word<br>
Japanese-Chinese: US$0.035-0.05 /Japanese Character<br>
Chinese-Japanese: US$0.04-0.06 /Japanese Character<br>
Russian-Chinese: US$0.03-0.035/Chinese Character<br>
Chinese-Russian: US$0.04-0.045 /Chinese Character<br>
Korean-Chinese:<span style="mso-spacerun: yes"> </span>US$0.03-0.035/Chinese
Character<br>
<span style="mso-font-kerning:1.0pt">Chinese-Korean:<span style="mso-spacerun:
yes"> </span>US$0.040-0.045/ Chinese Character.</span><o:p>
</o:p>
</font>
</span></p>
<p style="line-height:12.0pt;mso-line-height-rule:exactly"><font face="Times New Roman"><span lang="EN-US" style="font-size: 10.5pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 1.0pt">Please accept my apologies if this message is an
intrusion. You can e-mail me at: <a href="mailto:to:tra...@so...">tra...@so...</a> and I will remove your address from our lists.</span><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:10.0pt"><o:p>
</o:p>
</span></font></td>
</tr>
</table>
</center>
</div>
</body>
</html>
|
|
From: Mike S. <msc...@ao...> - 2003-08-22 04:15:03
|
Ian harisay wrote:
> First of all, I love all the work that has been done on Log4perl.
Thanks!
>The package is as such:
> package Log::Init;
> Log::Log4perl->init("/opt/perl/lib/log.conf");
> ...
> This is working fine for me when I initialise from a conf file. The
> problem I am having, however, is that I would like my log file name to
> be dynamically generated.
This shouldn't be a problem. It doesn't matter if you create the conf
file dynamically or statically, as long as you call
Log::Log4perl->init($filename) on an existing file and only *once*
before you start calling the loggers, you should be fine.
If you send some code that doesn't work, we can take a look.
> Also, I looked for a log4perl users mail list. Didn't find one.
It's log...@li... and you shouldn't have trouble
accessing it. If you do, let me know what problems you have, I'd be
interested in resolving them.
--
-- Mike
Mike Schilli
m...@pe...
|
|
From: Kevin G. <ke...@go...> - 2003-08-22 03:04:15
|
Ian, you should try something like this in your config file,
log4j.appender.fileapndr.filename = \
sub {File::Basename::basename($0)."log"}
log4j.appender.fileapndr = Log::Dispatch::File
log4j.appender.fileapndr.layout=org.apache.log4j.SimpleLayout
(requires a 'use File::Basename' somewhere in your code)
Mike Schilli wrote:
> Subject: Sorry for mailing you directly
> Date: 8/20/2003, 3:28 PM
> From: Ian harisay <ia...@gr...>
> To: log...@pe...
>
> Hi Mike,
>
> First of all, I love all the work that has been done on Log4perl.
>
> I am hoping you can help me out. I am trying to set up a package that I
> can call in my main program. The package is as such:
>
> package Log::Init;
>
> require 5.005;
> use strict;
> use Log::Log4perl;
> use vars qw($VERSION);
>
> $VERSION = 0.01;
>
> Log::Log4perl->init("/opt/perl/lib/log.conf");
>
> ### end of module ###
>
> Then my main program can just be written as such:
>
> use Log::Init;
>
> my $log = Log::Log4perl->get_logger();
>
> $log->info('my log message');
>
> This is working fine for me when I initialise from a conf file. The
> problem I am having, however, is that I would like my log file name to
> be dynamically generated. For instance when my program (myprog) is
> calls Log::Init, Log::Init will setup a log file called myprog.log.
> This is default behaviour I am after. I have tried to do this, but have
> not been successful. Could you help me out with this?
>
> Also, I looked for a log4perl users mail list. Didn't find one. I
> found the log4perl-devel list, but am having trouble posting to it. I
> only say this because I don't want you to think I haven't exhausted
> these avenues first.
>
> Thanks,
>
> Ian
>
>
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by Dice.com.
> Did you know that Dice has over 25,000 tech jobs available today? From
> careers in IT to Engineering to Tech Sales, Dice has tech jobs from the
> best hiring companies. http://www.dice.com/index.epl?rel_code=104
> _______________________________________________
> log4perl-devel mailing list
> log...@li...
> https://lists.sourceforge.net/lists/listinfo/log4perl-devel
--
Happy Trails . . .
Kevin M. Goess
(and Anne and Frank)
904 Carmel Ave.
Albany, CA 94706
(510) 525-5217
|
|
From: Mike S. <msc...@ao...> - 2003-08-21 09:02:11
|
Subject: Sorry for mailing you directly
Date: 8/20/2003, 3:28 PM
From: Ian harisay <ia...@gr...>
To: log...@pe...
Hi Mike,
First of all, I love all the work that has been done on Log4perl.
I am hoping you can help me out. I am trying to set up a package that I
can call in my main program. The package is as such:
package Log::Init;
require 5.005;
use strict;
use Log::Log4perl;
use vars qw($VERSION);
$VERSION = 0.01;
Log::Log4perl->init("/opt/perl/lib/log.conf");
### end of module ###
Then my main program can just be written as such:
use Log::Init;
my $log = Log::Log4perl->get_logger();
$log->info('my log message');
This is working fine for me when I initialise from a conf file. The
problem I am having, however, is that I would like my log file name to
be dynamically generated. For instance when my program (myprog) is
calls Log::Init, Log::Init will setup a log file called myprog.log.
This is default behaviour I am after. I have tried to do this, but have
not been successful. Could you help me out with this?
Also, I looked for a log4perl users mail list. Didn't find one. I
found the log4perl-devel list, but am having trouble posting to it. I
only say this because I don't want you to think I haven't exhausted
these avenues first.
Thanks,
Ian
|
|
From: Mike S. <msc...@ao...> - 2003-08-18 17:42:10
|
Kevin Goess wrote: > Just off the top of my head, I > think it has to do with the fact that PerlEX is a persistent interpreter > and the way Log4perl is a initialized globally I see, so that's probably not related to Log::Log4perl specifically, but to the use of globals in general. Good to know. -- Mike Mike Schilli log...@pe... |
|
From: Kevin G. <ke...@go...> - 2003-08-18 16:36:04
|
> I have recently installed my script on the IIS 5.0 with PerlEx.dll > for the Active State Perl 5.6.0 build 633 and have intermittent > problems with Log4perl being unable to precompile whenever I > change the script. I don't have time to research this deeply right now, but I'm almost sure I've heard of stuff like this before. Just off the top of my head, I think it has to do with the fact that PerlEX is a persistent interpreter and the way Log4perl is a initialized globally, interpreter-wide, so the first script initializes Log4perl and gets references to its data structures, but the subsequent scripts don't get references to the already-existing data structures. It seems to me that in such a case you can either restart IIS whenever you change the script or maybe it seems to me PerlEX maintains a list of modules that should be reloaded on reload? Mike Schilli wrote: > There seems to be a problem with PerlEx, does anybody know what this > could be caused by? > > http://aspn.activestate.com/ASPN/Mail/Message/perlex/1679984 > > -- > -- Mike > Mike Schilli > log...@pe... > ------------------------------------------------------- This SF.Net > email sponsored by: Free pre-built ASP.NET sites including Data Reports, > E-commerce, Portals, and Forums are available now. Download today and > enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ log4perl-devel mailing > list log...@li... > https://lists.sourceforge.net/lists/listinfo/log4perl-devel -- Happy Trails . . . Kevin M. Goess (and Anne and Frank) 904 Carmel Ave. Albany, CA 94706 (510) 525-5217 |
|
From: Mike S. <msc...@ao...> - 2003-08-18 06:34:47
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> <font face="Arial,sans-serif"><font size="2">There seems to be a problem with PerlEx, does anybody know what this could be caused by?<br> <br> <a class="moz-txt-link-freetext" href="http://aspn.activestate.com/ASPN/Mail/Message/perlex/1679984">http://aspn.activestate.com/ASPN/Mail/Message/perlex/1679984</a><br> <br> <span>-- <br> -- Mike<br> Mike Schilli<br> <a class="moz-txt-link-abbreviated" href="mailto:log...@pe...">log...@pe...</a></span></font></font> </body> </html> |
|
From: iqnwLisa J. <ejh...@ya...> - 2003-08-16 19:13:24
|
I understand you are an Busines minded person, so i knew you would want to know about this! Nothing Like This Has Ever Happened Before ! One of the biggest home based biz companies has decided to increase its customer base and WE are going to be the benificiaries. http://www.go2prosperity.net/cgi-bin/ia.cgi/BeFree Here are the highlights:l - Company has been in biz for decades! - They have waived the enrollment fees for a limited time! - Offering memberships at No cost to You! http://www.go2prosperity.net/cgi-bin/ia.cgi/BeFree - Products 15%-30% less than Walmart! - Cash Flow true month to month residual payout (With a 95% Retention Rate )! We know that this might sound like hype, but it is all true! This has never happened before and we don't want you to miss it. This month only! We feel so strongly about this that we will call you directly and give you all the GREAT news. Just fill out our form, we would love to have you on our team. Please do not think that this is a you're going to make a million overnight! This is true cash flow, month after month, year after year! We work together and we all make a lot. You have nothing to lose and everything to gain. http://www.go2prosperity.biz/cgi-bin/ia.cgi/befree shkgtdimsdigaagabxj |
|
From: Mike S. <msc...@ao...> - 2003-08-15 16:55:05
|
Subject: Flush() for log4perl? Date: 8/15/03, 2:27 AM From: Johannes Kilian <jo...@vi...> Hallo Michael, just a short question: Is there a possibility to flush() the output of log4perl? I want the log entries to be shown as soon as they are made (minimal or no time offset ....) Thanks Johannes Kilian |
|
From: Mike S. <msc...@ao...> - 2003-08-15 16:54:10
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> <font face="Arial,sans-serif"><font size="2">Have you guys seen this?<br> <a class="moz-txt-link-freetext" href="http://search.cpan.org/author/GCARLS/Log-Log4perl-Layout-XMLLayout-0.01/lib/Log/Log4perl/Layout/XMLLayout.pm">http://search.cpan.org/author/GCARLS/Log-Log4perl-Layout-XMLLayout-0.01/lib/Log/Log4perl/Layout/XMLLayout.pm</a><br> <br> <span>-- <br> -- Mike<br> Mike Schilli<br> <a class="moz-txt-link-abbreviated" href="mailto:log...@pe...">log...@pe...</a></span></font></font> </body> </html> |
|
From: Mike S. <msc...@ao...> - 2003-08-15 16:22:00
|
Johannes Kilian wrote: > just a short question: > Is there a possibility to flush() the output of log4perl? > I want the log entries to be shown as soon as they are made (minimal > or no > time offset ....) I assume you're referring to file appenders like Log::Log4perl::Appender::File. Check out the documentation on http://log4perl.sourceforge.net/releases/Log-Log4perl/docs/html/Log/Log4perl/Appender/File.html and watch for the "autoflush" option -- this will write-through to the logfile every time without buffering. -- -- Mike Mike Schilli m...@pe... |
|
From: Jim C. <jc...@di...> - 2003-08-11 21:18:55
|
somebody else was asking that a validation be done on new configs,
discarding them if theyre broken.
I thought this was a good idea, so started down that path.
This is a preliminary version, without the actual validation.
Its NOT FOR CHECKIN
But it does compare new version of $data (from read_confg())
against old, and reports whether theres a meaningful change.
a number of issues remain:
IIUC, The actual CONFIG thats used to make logging decisions is stored in
various package globals, making it difficult to cleanly store a current
and backup
config. It feels a bit hackish, but is probably easiest, to copy the
package globals
to globals_bak variables.
Im using Data::Compare for the new vs old, and it cant compare CODErefs.
so it wont work on coderefs in the config. This limitation could be
avoided by
doing the comparison before the sub{} text is eval'd into coderefs.
Doing so however interferes with next item.
The new vs old check should probably be much higher in the body of _init(),
nominally immediately after call to read_config().
I tried this, but found that the comparison always reported differences.
I believe its due to structural changes made on $data during LOADING into
the config. (IE deleting keys whose value is an empty hash.
Because the structure is shared with $ref_config_read_data,
code was effectively comparing massaged vs unmassaged data.
the patch to Config.pm uses a custom version of Data::Compare,
which includes diffs(), a routine which trims out common elements of 2
structures,
leaving only the differences. Its not yet ready for prime-time, but Im
hoping
to eventually get it accepted into Data::Compare
|
|
From: Mike S. <msc...@ao...> - 2003-08-11 17:42:19
|
Jim Cromie wrote: > Im sure this will hurt performance by defeating compile-time > optimization, > and in any case, you may not want to expose the variables this way, > so feel free to not accept these changes. Actually, compile-time optimization is crucial, we went through great lengths to optimize Log::Log4perl for speed. -- -- Mike Mike Schilli m...@pe... |