Announcing ICLS

Adding an entry to ICLS

What whaat?

That’s right, I actually finished a side project. I worked on this on my lunch breaks occasionally for 2-3 months. Behold!

ICLS (Inconceivably Complex Logging System)

On Github: https://github.com/timbotron/ICLS

Summary

ICLS is a command-line, python-based logging system that supports tagging, searches, reports, etc. It stores this data in Amazon’s SimpleDB, (in your account of course). Specifically, it’s designed for a contract worker to be logging what they are doing at that time, bugs they figured out, etc. However, there are many other potential uses, such as having all your servers sending their log messages to one location.

The Name

Why call it ‘Inconceivably Complex’? Because, in one sense, it’s rediculous. You need to write a log? Write to a flat file. Writing to a cloud-based NoSQL data system is completely overkill. OR IS IT; I THINK NOT.

Notable features include

  • Dead-simple to add an entry (icls “entry text here”)
  • Tons of options (Default tag, search by term, tag, date range, etc. see documentation)
  • icls.conf config file
  • entry retrieval and deletion
A report using a date range.

Requirements

  • Python
  • Account with Amazon Web Services
  • Boto, a Python package, I didn’t want to use any packages, but using boto makes the auth, etc much easier. And at the end of day, I want to get this working, not take forever re-inventing the wheel on HMAC signature generation.

Reason for Building

ICLS is a side project. I wanted a log I can throw all my little random posts into, without feeling weird about compromising the ‘professionalism’ of my identi.ca/twitter account. Also, I wanted to try working with Amazon’s SimpleDB, and continue to strengthen my Python skills. And it totally worked for that, I feel more confident in my abilities.

Example of a search by tag

License

Copyright 2012 (c) Tim Habersack.

ICLS is licensed under a GNU General Public License (GPL) v3.

Leave a Reply

Your email address will not be published. Required fields are marked *