|
Why the name "Logahawk"? |
Trees are cut down to get "logs", and in the olden days axes were used to cut down trees. A type of axe
designed by Native Americans is the Tomahawk.
While not used for cutting down wood, the thought chain holds pretty well, hence the name Logahawk.
|
Why did you create such a library? |
I have found logs to be an invaluable tool in the creation and maintenance of every kind of application. But
no logging frameworks I've ever used is simple for developers to use. So I wrote wrappers around the logging
frameworks to make them easier to use. Prior to Logahawk I've written at least four different wrappers. The
wrappers have always been well received by other developers and stakeholders, and made logging easy and
ubiquitous. Our logs became more comprehensive and useful. With ever iteration I've evolved and enhanced the
concept, making it more flexible and easier to use. Logahawk is the culmination of all that effort.
|
Why did you choose the Apache License? |
For two main reasons. The first reason is that log4j, arguably the most popular logging framework, is
licensed under the Apache License, and hence it makes licensing a non-issue for projects that are already
using log4j. The second reason is that logging is more common in high-availability and mission-critical
applications, which are often custom solutions and hence proprietary -- I did not want to make it difficult
for those projects to use Logahawk.
|
How reliable/stable is Logahawk? |
Very. The logging wrappers that Logahawk is based on are use in mission-critical, high-availability systems.
Logahawk was designed to be used in those same types of applications, where logs are not just
after-thoughts, they are the part of the very basic design.
|
What are the future plans for Logahawk? |
More unit tests, more formatters, more listeners, etc. Currently there are no major plans or changes to the
API.
|
Logahawk doesn't appear to be updated very often... |
That's because its stable and complete. I've implemented all of the capabilities that I can conceive of. The
updates I do make are usually new ideas that come out of the blue or to meet the new needs of other projects
with unique needs. Logahawk isn't abandoned, its simple stable and complete.
|
Where is the configuration file? Why is there no configuration file? |
Logahawk uses other logging frameworks to handle the actual logging so it keeps those frameworksfile-based
configuration. There is no need for Logahawk to have yet another configuration file.
|
Logahawk adds too much overhead! (Or Logahawk is slow!) |
(Note: I've never received any word that Logahawk is actually slow, but I'll address the potential
concern anyways.)
Yes, Logahawk adds overhead, but the overhead is a trade-off to gain a better view into the system. In
fault intolerant systems it is usually much more valuable to have a good grasp on what is happening then
to worry about the few milliseconds lost in producing that better view. I personally have never
encountered a situation where the overhead out-weights the gains.
Further, Logahawk is designed to centralize logging activities, so that any inefficiencies can be
localized and optimized within the logging framework instead of scattered across the the application. That
being said I am constantly on the look out for inefficiencies in Logahawk's implementation.
If performance is a problem the best option is to remove unnecessary
formatters, even using a separate
Logger instance that has only the formatters you need.
Everything in Logahawk is an interface so you can replace any of component with your finely tuned
implementations.
|
I see unrecognized files in the root, what are they? |
IntelliJ project files. (See the next question.)
|
What development environment/IDE do you use? |
I use IntelliJ, because I find it to be superior to
Eclipse and NetBeans. Both
Eclipse and NetBeans are good products, but in my opinion IntelliJ is better for Java development.
My use of IntelliJ does not preclude using Eclipse, NetBeans, or anything else. Logahawk's source does
not depend on the IntelliJ project files.
|