• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
[ANN] Log4Cocoa now on SourceForge
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] Log4Cocoa now on SourceForge


  • Subject: [ANN] Log4Cocoa now on SourceForge
  • From: Bob Frank <email@hidden>
  • Date: Mon, 7 Oct 2002 03:57:53 -0500

Hi,

Log4Cocoa is a Cocoa port of the popular Java logging package Log4J. (This is not part of Log4OC announced last week, but I emailed them and hope we can synchronize efforts somehow). If you're interested, please take a look and let me know if you'd like join us as a developer. It is now up on SourceForge: http://sourceforge.net/projects/log4cocoa/

The source is in cvs & you can get a tarball of the source from within CVS (I'm new to sourceforge. I'll see if I can put the tarball in the "files" space). This is a pre-Alpha release with basic functionality.

Why should you log?* You might wonder why would you want to log when you have gdb? Well, you might not always have easy access to gdb. I'm not a better writer than the folks at Log4J, so go to there site (or read the attached blurb below).

By default, Log4Cocoa tracks logging events on a per class basis, although you can use it anyway you want (eg. based on functionality cross-class instead of per-class). Each Logger (and Appender) can have different levels, meaning its easy to, at run-time, turn logging messages on from one class only, etc. You can download Log4Cocoa and use it in a very simple way right now. Right now, only one Appender (the Console Appender -- standard out / standard error)** and one Layout (simple Layout)*** are working. The current working plan is:

Current Status -- Pre-Alpha:
- simple API derived port of Java version
- minimal additions of Objective-C features (note: I did take advantage of the C preprocessor to make getting file names, method names, and line numbers *MUCH* cheaper than in Java)

Alpha:
- add more Appenders & Layouts
- add configuration file support (right now only programatic configuration is supported)
- start adding HeaderDoc documentation
- start working on performance issues
- make more "Cocoa-esque"

Beta:
- add a GUI configuration tool
- work on thread safety issues
- performance & memory usage tuning
- more documentation


Also, I would love to integrate OCUnit tests with Log4Cocoa, but haven't had time yet.

Thanks,
Bob Frank

---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----

**Appenders are output destinations (console, files, network, SQL databases, etc.)
*** Layouts format log messages per Appender.

* Why Log? From the Log4J web site (http://jakarta.apache.org/log4j/docs/index.html). This is exactly what I would want to say:

"Inserting log statements into your code is a low-tech method for debugging it. It may also be the only way because debuggers are not always available or applicable. This is often the case for distributed applications.

On the other hand, some people argue that log statements pollute source code and decrease legibility. (We believe that the contrary is true). . . . Given that a reasonably sized application may contain thousands of log statements, speed is of particular importance.

With log4j it is possible to enable logging at runtime without modifying the application binary. The log4j package is designed so that these statements can remain in shipped code without incurring a heavy performance cost. Logging behavior can be controlled by editing a configuration file, without touching the application binary.

Logging equips the developer with detailed context for application failures. On the other hand, testing provides quality assurance and confidence in the application. Logging and testing should not be confused. They are complementary. When logging is wisely used, it can prove to be an essential tool.

One of the distinctive features of log4j is the notion of inheritance in loggers. Using a logger hierarchy it is possible to control which log statements are output at arbitrarily fine granularity but also great ease. This helps reduce the volume of logged output and minimize the cost of logging."
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
  • Prev by Date: Re: NSProgressIndicator acting wonky
  • Next by Date: Collection of toolbar icons anywhere?
  • Previous by thread: Re: Docs on Cocoa Networking?
  • Next by thread: Newbie ImageWell question
  • Index(es):
    • Date
    • Thread