Since I've recently grown enthusiast at the happy combination between YAML's ease of use through suitable packages as a data serialization means and its human readability, I've been considering using it for some logs.

Indeed, since you can have multiple YAML streams in one string/file, as a format it's good for appending. However when it comes to logs, you often want to check them. YAML::Syck, for example, lets you easily store and recover multiple streams. So far, that's fine. But what if one wants to continuously inspect the logs as new "records" are appended?

I am aware of the various strategies for dealing with "tail -f" kinda stuff, and I know how to search for more, but the problem here is that a record itself would comprise multiple lines. I can imagine a few ways to overcome this, but more or less they all amount to do some parsing by hand.

Or else, at least with regular enough data, would it suffice to set $/ to "--- "? (Although even in that case it would be at the beginning of each record rather than at the end - I may still need to massage each record individually before processing it.) I would like to hear some opinion...


In reply to YAML for logs? by blazar

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.