Hi Gary
In the case of one webapp I was able to upgrade quickly to 2.17.0 and
everything seems to be fine :-)
Thanks for the hint, searching for "log4j shell poc" helps, so let's see
whether we can attack ourselves :-)
Thanks
Michael
Am 18.12.21 um 14:36 schrieb Gary Gr
server in order to test
whether my server might be vulnerable?
Thanks
Michael
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
Schema
Registry which expects a string representation of the Schema and not the
string "bytes".
I haven’t found a way to set the Schema Id for the KafkaAppender or have
the appender use a GenericContainer subclass of my choosing. Is either
possible or is there another way?
Thanks
I am trying to build from source for some perf research, however one of the
requirements is JDK9. This is no longer downloadable from Oracle (
http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html)
as it redirects you to JDK10.
I'm sure this is not the "correct" way
quot;${sys:valueA}foo.log"
None of them worked.
Is there any way to achieve this?
Thanks,
Michael
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
Thanks Gary!
That was exactly what I was looking for.
Michael
Am 06.10.2017 um 17:09 schrieb Gary Gregory:
Hi Michael,
How about
using
org.apache.logging.log4j.core.config.Configuration.addListener(ConfigurationListener)
?
Gary
On Fri, Sep 29, 2017 at 6:30 AM, Michael Heinen
wrote:
I
Am 29.09.2017 um 16:28 schrieb Christopher Schultz:
Michael,
On 9/29/17 8:30 AM, Michael Heinen wrote:
I use Log4j 2.9.1 with the XML configuration. A monitorInterval is
specified in the XML config in order to reconfigure log4j, e.g. for
debugging.
Besides the XML configuration some loggers
= LoggerConfig.createLogger(...)
loggerConfig.addAppender(appender, null, null);
config.addLogger(loggerName, loggerConfig);
ctx.updateLoggers();
Could the dynamically added loggers/appenders be isolated from the
automatic reconfiguration?
Is there another way to add them programamtically?
Thanks,
Michael
;t
when running a build) That said, I thought I had everything configured in a
way that would work. I can't very well inject an import into the log4j
*.jar, so how does one define a connection factory in a way that log4j can
find it?
On Wed, Aug 9, 2017 at 3:56 PM Michael Carman
wrote:
&
" and
> also on the command line with "-Dlog4j.debug=true" (but I think this last
> one might only work in 2.9-SNAPSHOT)
>
> Gary
>
> On Wed, Aug 9, 2017 at 12:16 PM, Michael Carman <
> michael.j.car...@gmail.com>
> wrote:
>
> > I'm having a
I'm having an odd problem and don't know where to look for troubleshooting
purposes.
I have an Eclipse RCP application. I'm attempting to transition logging
from a file to a database (Oracle). When running my application via Eclipse
events are logged to the database as expected. When running my ap
endet: Dienstag, 25. April 2017 15:57
An: Log4J Users List
Betreff: Re: Trailing space on loglevel in properties file not trimmed
How is it failing? Do you have Java 9 installed with toolchains configured?
Ralph
> On Apr 25, 2017, at 6:46 AM, Michael Lück wrote:
>
> Pull request is sub
Pull request is submitted but the build process seems buggy as my PR is not the
only one failing currently
https://github.com/apache/logging-log4j2/pull/75
-Ursprüngliche Nachricht-
Von: Michael Lück [mailto:michael.lu...@hm-ag.de]
Gesendet: Montag, 24. April 2017 14:59
An: '
request?
(Shameless plug) Every main() method deserves http://picocli.info
> On Apr 24, 2017, at 21:41, Michael Lück wrote:
>
> Yes you're right. Java.util.Properties work this way. But I think the
> application that uses such properties should still validate the input. An
>
surprising...
Remko
(Shameless plug) Every main() method deserves http://picocli.info
> On Apr 24, 2017, at 21:24, Michael Lück wrote:
>
> Hello all,
>
>
>
> I just realised that a trailing space on a level configuration in a
> properties file doesn’t change the level of
Hello all,
I just realised that a trailing space on a level configuration in a
properties file doesnt change the level of the logger.
I created a small example project
https://github.com/thuri/log4j-trailing-space-loglevel-properties
While the root logger is initialized with level info I
java-lang-classnotfoundexception-a-runtime
> in particular:
> Bundle-ClassPath: .,lib/library.jar
>
>
> On Tue, Nov 29, 2016 at 4:48 PM, Gary Gregory
> wrote:
>
> > OSGi and class loaders make for complications and tricky debugging
> sessions
> > :-(
> >
> > Gar
isn't picking up on the class path used within my plugin. Is there a
way to configure that? Searching for "log4j classpath" turns up lots of
things about where to put the log4j.properties file.
I can't be the first person to try to use a JDBC appender with Eclipse RCP.
-Mike
lem, but I can't
figure out what to set.
-Mike
On Tue, Nov 29, 2016 at 2:43 PM Gary Gregory wrote:
Is your getConnection() method static?
Gary
On Tue, Nov 29, 2016 at 9:04 AM, Michael Carman
wrote:
> I'm using Log4j2 in an Eclipse RCP application. I've been using a
> Rolli
I'm using Log4j2 in an Eclipse RCP application. I've been using a
RollingFileAppender and am trying to switch to a JDBC appender backed by a
ConnectionFactory. I've implemented this using the examples at
https://logging.apache.org/log4j/2.x/manual/appenders.html#JDBCAppender as
a guide but get a Cl
instaling Yanel.
The appender is using queue, such that connection and socket timeouts do
not matter and requests can be resent.
HTH
Michael
Am 12.11.14 um 13:33 schrieb youri flement:
> Hello,
>
> Thank you for your reply. I was looking for an out-of-the box appender that
> I could reu
an
> > issue at work where error logs were emailed automatically, bringing down
> > the mail server when the app kept generating the same error. Painful.
> > >
> > > Sent from my iPhone
> > >
> > >> On 2014/08/30, at 7:24, Michael Schall wrote:
&g
s well. What do you want to do that you can't do with the
>> current SmtpAppender?
>>
>> Looks like several changes are required. I am away from my PC and can't
>> judge the details now. Could you raise a feature request Jira and attach a
>> patch that incl
inal, please
> attach a patch with the changes you have in mind.
>
>
> On Sat, Aug 30, 2014 at 4:07 AM, Michael Schall
> wrote:
>
> > I'm upgrading an application to use Log4j2. With our existing
> > implementation we have created a new appender which extends
I'm upgrading an application to use Log4j2. With our existing
implementation we have created a new appender which extends the
SMTPAppender. I see the SMTPAppender is a final class now which prevents
me from extending it. I was wondering what the reason for this is? Do we
really need to re-imple
t are buffered.
one can buffer them persistently, or do I misunderstand you?
I am not sure whether "refactoring"
https://github.com/joshdevins/log4j-scribe-appender might make sense, but
it probably makes sense to have a look at it.
HTH
Michael
>
> Ralph
>
>
> On May 1,
thanks very much for your feedback. Will have a closer look at it and
send some feedback
once I have made some more progress on it.
Thanks
Michael
Am 11.03.14 13:47, schrieb Matt Sicker:
> On Monday, 10 March 2014, Michael Wechner wrote:
>
>> Am 10.03.14 13:34, schrieb Matt Sic
tom plugin are you using?
I am not sure I understand your question, can you explain some more?
(Our custom appender to send messages via HTTP is still based on log4j
version 1)
Thanks
Michael
>
> On Monday, 10 March 2014, Michael Wechner wrote:
>
>> Hi
>>
>> I
x27;t think it has anything to do
with log4j itself, but rather with the code of
our custom logger. As soon as I will have some time I will compare our
code with for example
https://github.com/alexlod/scribe-log4j-appender
HTH
Michael
Am 10.03.14 01:43, schrieb Matt Sicker:
> I'd like to
the Appender are you
using? (Agent, embedded, persistent).
The latest log4j release upgraded the flume Appender to use Flume 1.4, with
that version Flume is actually doing all the connectivity so any errors with
regards to failover would be in Flume, not Log4j.
Sent from my iPad
> On Feb 19, 20
d.
Thanks!
Michael
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
Nick,
Thanks for your suggestions. I admit we are using an 'ancient' version of
Hibernate. Believe it or not, we were actually using an even older version
before log4j2 forced us to a later version. I'll see if we can upgrade for
starters and go from
Nick,
To my knowledge, Hibernate does not use JBoss logging until version 4.x and
we're using Hibernate 3.x, so JBoss logging is not on our classpath. Am I
mistaken?
Michael
From: Nick Williams [nicho...@nicholaswilliams.net]
Sent: Friday, Februa
? We need to be able
to display Hibernate's native SQL logging at times, so permanently turning this
off is not really an option.
Appreciate any help resolving this issue.
Michael
-
To unsubscribe, e-mail: log4
Thanks, Matt. That's a great idea!
Michael
From: Matt Sicker [boa...@gmail.com]
Sent: Monday, December 16, 2013 7:09 PM
To: Log4J Users List
Subject: Re: What is your release time frame?
If it helps any, there's only 9 critical or blocker bug
Gary,
That's understandable. I just wanted to see if there was any more info
available. Keep up the good work. We eagerly anticipate the official release.
Thanks for the quick response!
Michael
From: Gary Gregory [garydgreg...@gmail.com]
Sent: M
We are seriously looking at using Log4j 2, but your web site only indicates
that it will be released soon. What do you mean by 'soon'? Please provide a
more detailed roadmap.
Thank you,
Michael
-
To unsubscribe, e-m
post code snippet of the preferred way of
doing that in log4j 2? Thanks
http://mail-archives.apache.org/mod_mbox/logging-log4j-user/
--
Michael
Thanks Remko for the valuable insight on queue size and ring buffer size in
log4j and logback. I will make adjustments to the settings and run the
test again.
On Tue, Oct 1, 2013 at 10:02 AM, Remko Popma wrote:
> Michael,
>
> I finally got around to looking at the test results you
Hi Remko,
You can find the micro-benchmarking tool I wrote on Github:
https://github.com/michaelzhou999/logging-profiling
Drop me a message if you have any questions. Thanks
Michael
On Sat, Sep 28, 2013 at 9:34 PM, Remko Popma wrote:
> Michael,
>
> I'd be interest
unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>
--
Michael
Hi Curt
Hi Nick
Thanks very much for the pointer to "fish tagging" and the explanations
accordingly.
Best wishes
Michael
Am 24.07.13 16:53, schrieb Nick Williams:
On Jul 24, 2013, at 9:35 AM, Michael Wechner wrote:
Hi
We are using log4j for many years now for our open
and then to grep for this user or
session id. But it seems to me a bit crude and hence I wanted to ask if
somebody might have tried something similar?
Thanks
Michael
-
To unsubscribe, e-mail: log4j-user-unsubscr
ris.
My machine runs with Windows 7 x64. The used JVM is 1.6.0_20-b02. Again, Log4J
is 1.2.16.
Does the stack trace help?
I myself cannot say I'm sure it's Log4j, but do not really know how to diagnose
this.
Best, Michael
Stack trace:
Thread [AWT-EventQueue-
sed version of log4j is 1.2.16. Unfortunately, I cannot just change it to
something newer.
Kind regards, Michael
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
s null.
Thanks,
Michael T Minella
- Original Message -
From: "Ralph Goers"
To: "Log4J Users List"
Sent: Monday, December 24, 2012 12:03:43 PM
Subject: Re: Map Lookup Question
You are probably encountering https://issues.apache.org/jira/browse/LOG4J2-129.
This has been f
og4j.BoringLoggingClass
- I am logging: 0
Main 09:30:52.519 [Thread-3] ERROR org.somepackage.log4j.BoringLoggingClass - I
am logging: 0
Thread_1 09:30:52.519 [Thread-2] ERROR org.somepackage.log4j.BoringLoggingClass
- I am logging: 0
Thread_0 09:30:52.525 [Thread-1] ERROR org.somepackage.log4j
beta3
org.apache.logging.log4j
log4j-core
2.0-beta3
Thanks,
Michael T Minella
- Original Message -
From: "Ralph Goers"
To: "Log4J Users List"
Sent: Friday, Dec
above, the
replacement doesn't occur (my file ends up being named /tmp/${ctx.id}.log for
example). Is that a limitation of that lookup or am I missing something? Any
insight that can be provided is appreciated. Thanks in advance!
Thanks,
Michael T Minella
On 10 April 2012 12:27, Michael Erskine wrote:
> I know this might sound daft but is your class actually trying to log
> anything?
OK, I see where you're coming from:
http://hc.apache.org/httpcomponents-client-ga/logging.html
...and you would expect the HttpClient to log to the c
I know this might sound daft but is your class actually trying to log anything?
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
Rather than your log file processor removing items from a log file,
have _it_ log the items that it _has_ re-indexed!
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-
as you mention below I would like to have as little
moving parts as possible
and log4j is just so nicely simple, but maybe it is too simple for such
a case.
Thanks very much for your feedback
Michael
Alternatively, if that adds too many moving parts and you want to stick
with text files, leave
e would like to remove the corresponding particular entry from the
log file.
I understand that log4j might not be intended for such a usecase and
maybe we shouldn't try to misuse it, but I would appreciate any pointers
or ideas or alternative
doesn't make complete sense though, because I would think to see all of
yesterdays log messages in the log.
Any ideas what is going on here? Suggestions for next steps in trying to debug
this? I've also included the log4j configuration file.
Thanks for any help.
Michael-
---
27;t suggest anything more than that without
doing your job for you :)
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
ity. That is what happened. Unless the logs are somehow
fabricated :)
The cause of the crash however could be anything! Have a try at
repeating it by dropping newer Wars and Jars. Upgrade your Java
runtime to apply all the officially available fixes. Quit running
Tomcat as root :)
Regards,
Mich
nce for each
HTTP daemon?
Is this something to do with...
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Does this Log4j configuration usually work?
Have you tried running on a recent version of Java 6?
Regards,
Michael Erskine.
erging ugly category of "Let's try
and get Log4j to billions of jobs that are already done perfectly by
other tools". Seriously, does nobody know how to use cron and
logrotate any more?
Regards,
Michael Erskine.
-
Check out org.apache.log4j.FileAppender.setBufferedIO(boolean)
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
mon thread.
[*] not the LoggingEvent itself - it has excess baggage!
I recommend the book Java Performance Tuning by Jack Shirazi published
by O'Reilly. Not just for Java performance geeks but for ALL Java
developers! And ALWAYS read the code of any librari
>From the looks of it I suspect you're made a call to
BasicConfigurator.configure()
Regards,
Michael Erskine.
On 25 February 2010 16:26, ragz_82 wrote:
>
> I am writing logs for my application using Log4j and I need to use only
> FileAppender. Right since the beginning, th
If you're concerned about performance then just code sensibly: when a
call is going to be expensive just do what's right and check the
logger level. Who cares if it involves an extra if statement?
Regards,
Michael Erskine.
--
nt of
data stored in each file like the RollingFileAppender maxFileSize
property or an of the other complexities.
I shudder to think of the comprehensive unit test suite to thoroughly
validate and verify a unified DailyRollingFile/RollingF
GMT] 000f SystemErr R
> java.net.ConnectException: Connection refused: connect
Sorry, but I have to ask: is there a suitable socket server listening on port
4445 of localhost? Unless you have a permanent logging server I suggest you use
a SocketHubAp
text log or write a
custom appender that is a "prepender" with an ajax servlet if I wanted to get
fancy web output.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging
Sounds like the contextual information isn't being popped off the stack -
ensure your EJBs are being properly finalised and destroyed.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-uns
I suggest you create a custom rolling file appender to do exactly what you need.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h
placed?
Hi Kay,
People usually roll their own replacement JDBCAppender: it's a lot of hassle
trying to create a one-size-fits-all database appender as everybody's
requirements are different (I know because I've tried and failed :
pender (NB: costly to collect) call
LoggingEvent.getThrowableStrRep() and handle it however you like.
Regards,
Michael Erskine.
> -Original Message-
> From: Alexander Spitzer [mailto:aspit...@gmail.com]
> Sent: 28 September 2009 20:58
> To: Log4J Users List
> Subject: Re:
overridable method for "Throwable" as the second parameter, and so my
> method for:
>
> protected void append(LoggingEvent event, Throwable exin)
>
> just gets ignored.
Alex,
You're confusing Appender methods with Logger methods!
Regards,
Michael Erskine.
d out after 30 days of
uptime that there's no audit trail!
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
le in the Appender class for a short while. Logging
is pretty important for the work I do so it's all about well-tested graceful
failure and fallback.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-
se on this.
>
> Thanks,
> Krishna
Forgive me for being glib but the answer is to fix your code :)
Regards,
Michael Erskine.
Why not use grep and cron?
(There seems to be an endless movement to try and make Log4j perform the tasks
already performed perfectly by established tools!)
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user
> This works fine in Windows
> but when run on Unix it actually creates a file called "nul".
That's because what you're doing is Windows specific. Fix that if you need a
cross-platform configuration.
sure those familiar with the shortcomings of JDBCAppender just write their
own custom appender - it's not too difficult and you get just what you need. I
would release my source code if my work contract allowed it. I can outline
details if anyone wants them.
he source of
org.apache.log4j.net.SocketHubAppender for a good example of management of the
stream with the appropriate flush and reset methods.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@loggin
mail the list if all else fails (some choose to do this as their first
step :) )
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
n every week - it isn't hard to redirect stdout
and stderr and any programmer should able to do it.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-m
** Background thread to process async queue */
private Thread bg_thread;
/** Set when shutdown */
private boolean shutdown = false;
/**
* A logged event that is queued for writing to the logging database in a
* background thread.
*
* @author Michael Erskine
int len) throws IOException {
// log here in threadsafe manner
}
}
Enjoy!
Michael Erskine.
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
g/apache/log4j/DailyRollingFileAppender.html#setDatePattern(java.lang.String)
respectively.
Enjoy,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
ot;
C:/eclipse/workspace/monitor/monitorClient/src/config/log4j.xml" to point log4j
straight at your config.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
awk, and bash. Of course
some tools need getting used to before becoming the most useful :) .
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
> how do I set and get DatePattern attribute from a
> DailyRollingFileAppender, in code?
Hi Reza,
I don't want to sound "all RTFM" :) but the DailyRollingFileAppender has
methods getDatePattern and setDatePattern! Perhaps a glance at the code? :)
Reg
g4j configuration created if one has not already
been configured explicitly (or, perhaps, automagically).
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
eCheck.check();
}
...and here follows a version of the class suitable for redistribution.
Enjoy,
Michael Erskine
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
/**
* Occasionally we find a JUnit test suite or test case clas
erfacing.
I have a strong belief that any non-trivial networked communications system can
be generalised to IRC!
Just my 2 euros :)
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
cious buffering and filtering of course!)
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
hilst I use this technique extensively, I was
quoting from the Introduction to log4j...
http://logging.apache.org/log4j/1.2/manual.html
I suggest you read it and if you want more detail feel free to read the source.
If you still can't solve your problem feel free to ask for more help.
Regards,
M
Or does the
> log4j.xml
> configuration overrides the settings in the class files ??
If you don't want log4j to avoid the default initialization procedure you can
set the log4j.defaultInitOverrride system property to anything other than
"false".
Regards,
Michael Erskine.
--
thing up to connect to many servers, keep the connections
up, render the logged events, queue them for writing to the databases, write to
the databases asynchronously with DB connection pooling and recovery, etc.,
etc. Lots of scope for fun here!
Regards,
Michael Erskine.
-
7;t rely on any particular logging
framework at runtime - keep it optional.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
pretty simple stuff -- I
learned most of how Log4J works by stepping through the source in Eclipse.
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
ConsoleAppender to
debug what your app is doing and set a threshold of INFO on your JDBCAppender.
The JDBCAppender is shoddy anyhow - write yourself a replacement. It's a great
way to learn about what makes a good Appender.
Regards,
Michael Erskine.
---
bly crafted JDBC appender (I'll publish it
one day!)
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
o use
RollingFileAppender because I want the files to rollover every day,
rather than when they reach a certain size. So my requirements are:
- Roll files over daily
- Only keep the last 5 log files
Any Solution?
Regards,
Michael
-
To unsubs
timing...
long t1 = System.nanoTime();
function_n();
long t2 = System.nanoTime();
logger.debug("duration in nanos: "+(t2 -t1));
Regards,
Michael Erskine.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
in their package names.
Here's the author's page...
http://www.dankomannhaupt.de/projects/index.html
...I looked into using this JDBC appender but after reading some of the source
I decided to write my own.
Regards,
Michael Erskine.
1 - 100 of 222 matches
Mail list logo