I would probably use Fail2ban, but since you mentioned this is for fun here are a couple of ideas.

Multiple processes all writing to the same file can step on each other if you use the normal print function due to buffering issues. I have used syswrite in the past to get around this and it works well. However in my experience if the log messages are short, Log4perl works fine with multiple processes all writing to the same file. I only ran into problems when printing multiline messages several KB in length at the same time.

Another idea would be using a DBI driver that works with files instead of a full database such as DBD::CSV so you don't need to install a database but could easily drop one in later by switching to a different driver. However if you are on an OS without flock simultaneous writes may be an issue. I don't have any experience with this to share unfortunately. Looks like if you are using Linux you should be okay.

If you get something working, I'm sure a lot of people would have feedback for you if you post it.

Best,

Jim


In reply to Re: Custom log file to alternative to db by jimpudar
in thread Custom log file to alternative to db by Thenothing

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.