Skip to content

Releases: reyjrar/Parse-Syslog-Line

Version 6.0 - Migrate to Time::Moment, Break API

28 Nov 01:18
v6.0
Compare
Choose a tag to compare

The HTTP::Date::str2time() is nice, but the Time::Moment is SO
MUCH
faster. This reworks the code to use the Time::Moment
interface. Additionally, I'm making sense out of the date handling
parameters.

I am removing support for ::DateTimeCreate from this module. This was
a terrible idea and we don't need it. If you want to use DateTime
objects in your code do:

use DateTime;
use Parse::Syslog::Line;

my $msg = parse_syslog_line(<>);
$msg{datetime_obj} = DateTime->from_epoch( epoch $msg->{epoch} );

Field Updates

  • Added datetime_utc - The ISO8601 timestamp as UTC
  • Added datetime_local - The ISO8601 timestamp in the timezone of the local server
  • Updated datetime_str - The ISO8601 timestamp in message local time
  • Deleted datetime_obj
  • Deleted date_raw

API Updates

  • TimeMomentFormatString added to control the string formatting for dates
  • DateTimeCreate is deprecated
  • HiResFmt is deprecated, use TimeMomentFormatString
  • NormalizeToUTC is deprecated, every log now returns datetime_utc
  • OutputTimeZone is deprecated, use TimeMomentFormatString

Supporting Updates

  • Documentation updates
  • Dependencies updated
  • Updates for the benchmarking tools
  • Tests updated to pass with Time::Moment

There's some issues with Time::Moment and DST. In the tests, as in
production, check datetime_utc for those cases instead of using
datetime_local or datetime_str.

5.4 - Better IETF syslog-proto23 Support

26 Nov 20:09
v5.4
5af3b79
Compare
Choose a tag to compare

What's Changed

  • Bugfix: IETF-syslog-proto23 Fixes by @reyjrar in #16
  • Handle some podman key/value parsing a lot better

Full Changelog: v5.3...v5.4

Version release-5.3 - Official CPAN release

20 Jun 21:10
Compare
Choose a tag to compare
==================================================
Changes from 2022-05-25 00:00:00 +0000 to present.
==================================================

----------------------------------------
version 5.1 at 2024-05-24 18:18:36 +0000
----------------------------------------

  Change: c3b622953845aefa0c29f66c2772113d293ded8e
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2024-05-24 11:17:59 +0000

    Bumping for 5.1 Release

    * Adds better handling of JunOS firewall logs 

  Change: 27c68a921a82b3985a4b5c3d8092684883dcea51
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2024-05-24 11:12:42 +0000

    Handle JunOS Firewall Logs

    The logs are stamped in a weird manner if they are a part of a
    load-balancing or fail-over pair. Add a test!

    Add testing on Perl 5.38 

  Change: b396a1e1cc8ef8f363dbe44959282114f81613bb
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 21:42:46 +0000

    Don't use dzil in the workflow

    * `Dist::Zilla` has a higher Perl requirement than this module so we

    can't use it * Use `Dist::Zilla::Plugin::CPANFile` to create a `cpanfile`
    in the

    distribution * Copy the `cpanfile` back from the build and check in to git
    * Replace `cpanm` with `cpm` so we can run tests in the CI/CD 

  Change: 2d523fb77108bf2bc112c71312387f7fe05e4996
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 21:20:10 +0000

    Test on all the Perls!

    Now that the CI/CD pipeline is passing, let's run tests on all the perls! 

  Change: e5c158147e245751adf4f6de7f7e6f3c712c19a7
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 21:15:08 +0000

    More tweaks for CI workflows 

  Change: 3f42a6eae7ba94335f0f83d6b314d9a9ebda798c
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 21:10:30 +0000

    More issues with the workflow 

  Change: 2a263ca1d74390372cd37eabe314d77cdbe858ca
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 21:05:49 +0000

    Chasing issues in the workflow 

  Change: c0cc69e441737af14d22ce04022af69cb09bf625
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 20:33:04 +0000

    Install dzil from packages 

  Change: f46aaea8863d94f7afe5fcb39f03ea640bb9370b
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 20:25:39 +0000

    Hoping to streamline dzil install 

  Change: 249d3fe9c04483fb5ef8eacc930759c31301ed5e
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 20:19:41 +0000

    Add warnings back 

  Change: c87f5c94cd52f94d90ae1a3c728e2ee8bedb2eb4
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 20:17:43 +0000

    Update testing workflow to use dzil

    Use `dzil` to run the test suite 

  Change: 242d1ed53499878911ae63ae80feb403921392d9
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-12-09 20:14:04 +0000

    Add a GitHub Action for Testing

    Attempt to enable GitHub Actions to run the test suite. 

----------------------------------------
version 5.0 at 2022-11-14 04:46:30 +0000
----------------------------------------

  Change: 6ca871f422f19a4374187a3a78e0066db774fd47
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2022-11-13 20:46:30 +0000

    Updates for the 5.0 Release

    Breaking Changes ================

    * Shipping with `RFC5424StructuredData` enabled and set to true.

    The biggest effect this could have on users, is the `content` field is now
    stripped of the components of RFC structured data.

    Given:

    ``` <163>Jul 26 15:50:14 ether janus foobar[4291]: [lvl=2] [foo x=1] some
    content [bar x=2] ```

    The old behavior with the defaults would produce the following:

    ``` content => '[lvl=2] [foo x=1] some content [bar x=2]', ```

    As of 5.x, this is changed and will now produce:

    ``` content => 'some content', SDATA => {

    bar => {

    x => 2,

    },

    foo => {,

    x => 1,

    },

    lvl => 2, }, ```

    The intent is this change makes the module even more useful as it defaults
    to parsing structured data correctly according to the RFC. To restore the
    prior functionality, you can disable this feature.

    ``` $Parse::Syslog::Line::RFC5424StructuredData = 0; ```

    Improvements ============

    * Make `JSON::MaybeXS` a requirement, recommend `Cpanel::JSON::XS` * Remove
    all `use JSON` from the code * Split up the k/v regex using `/x` so it's
    more maintainable * Add support for simplistic RFC structured data, ala,
    `[group k=v]` * Add tests for the RFC structured data parsing * Add
    `RFC5424StructuredDataStrict` and tests for strict parsing * Squelch
    warnings in tests and benchmarks * Document environment variables that
    interact with `Parse::Syslog::Line` 

=================================================
Plus 37 releases after 2022-05-25 00:00:00 +0000.
=================================================
SHA256 hash of CPAN release

4cca6e5ac259046116c0c0d438251905941e5723dc004afed519747669a80b9b *Parse-Syslog-Line-5.3.tar.gz


What's Changed

New Contributors

Full Changelog: https://github.com/reyjrar/Parse-Syslog-Line/commits/release-5.3

v5.1

24 May 19:08
Compare
Choose a tag to compare

What's Changed

  • Add support for "forwarded" messages like those seen from Juniper firewall devices

Full Changelog: v5.0...v5.1