OSSP CVS Repository

ossp - History for /ossp-pkg/l2/l2_spec_parse.y
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Directory]  [Show Milestones

DateVersion Description
2005-Oct-03 10:08    1.13    Check-in [5217]: Adjust copyright messages for new year 2005. By rse. (diff)
2005-Jan-24 16:03    1.12    Check-in [4979]: Adjust copyright messages for new year 2005. By rse. (diff)
2003-Feb-11 08:51    1.11    Check-in [3201]: fix all dmalloc-detected memory leaks By rse. (diff)
2003-Jan-06 12:41    1.10    Check-in [3065]: - remove trailing whitespaces - adjust copyright messages - consistently use "OSSP l2" - consistently talk about "Flexible Logging" - use standard OSSP ASCII-art By rse. (diff)
2003-Jan-06 12:19    1.9    Check-in [3064]: upgrade to the latest Flex & Bison & Autoconf combo By rse. (diff)
2002-Jul-30 21:08    1.8    Check-in [2437]: polish for release By rse. (diff)
2002-Jul-25 11:13    1.7    Check-in [2347]: allow empty stream (means a 'null' channel) By rse. (diff)
2002-Jan-02 18:07    1.6    Check-in [1492]: bump copyright year By rse. (diff)
2001-Dec-14 13:42    1.5    Check-in [1427]: Whoohooo! Add support for location tracking. This way the reported errors contain line, column, context and found/expected information. Now the specification parser is full featured... By rse. (diff)
2001-Nov-08 22:58    1.4    Check-in [1286]: Enhance the specification parser to be more smart in parsing parameter values in order to remove the burden on the user to provide massive syntactic sugar.

One now can name=value or name="value" or even name=va"lu"e, i.e., do not require quotation marks. But if they are present they can be used to introduce spaces or special characters with \xXX notation. By rse. (diff)

2001-Nov-08 10:28    1.3    Check-in [1276]: code cleanups and documentation By rse. (diff)
2001-Nov-07 18:01    1.2    Check-in [1273]: more cleanups By rse. (diff)
2001-Nov-07 17:17    1.1    Check-in [1265]: HEADS UP, guys:

Here comes the first cut for the long-awaited channel tree specification parser and channel tree builder. This certainly makes L2 finally THE killer library in the logging field. Woohooo... and the crowd goes wild!

It allows one to build an arbitrary complex logging channel tree out of a single textual specification. An example follows:

    noop -> {
        prefix(prefix="[%d-%m-%Y/%H:%M:%S] %L test[%P]: ", timezone="local")
        -> filter(regex="hecking", negate="0")
           -> buffer(size="800")
              -> file(path="l2_test.log",append="1",perm="420");
        error: syslog(ident="L2-Test", facility="user",
                      remotehost="en1", logpid="1", target="remote");
        panic: smtp(rcpt="rse@engelschall.com", host="en1", port="25"
    }

This allows one to log nice timestamp-prefixed messages containing the word "hecking" to a buffered file. Additionally if the message has a level higher or equal to "error" it also logs it remotely via UDP to the syslogd on en1. And additionally if the message is a panic message, it is also sent out as an Email via SMTP to the MTA on en1.

Ever thought a C library has to be dull and simple? ;)

PS: This stuff certainly needs more polishing and cleanup and also a few things I'll enhance in the future (for instance to remove the restriction that parameter values have to be in quotation marks, etc.). By rse.

CVSTrac 2.0.1