Log4Cocoa

  • Hello,
    I'm looking into logging frameworks and see references to this
    project. Does anyone know if this project is still running? I was
    hoping to find some examples of how to get things setup. Anyone here
    use it within a commercial application? Our Mac team is small, so if I
    don't have to "roll my own", I'd rather not.

    Cheers,
    Rob
  • On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka <rkukuchka...> wrote:
    > I'm looking into logging frameworks and see references to this
    > project. Does anyone know if this project is still running? I was hoping to
    > find some examples of how to get things setup. Anyone here use it within a
    > commercial application? Our Mac team is small, so if I don't have to "roll
    > my own", I'd rather not.

    Why not use ASL, since it's built into the OS?
    http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html


    --Kyle Sluder
  • On 21 Jan 2009, at 21:15, Kyle Sluder wrote:

    > On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka
    > <rkukuchka...> wrote:
    >> I'm looking into logging frameworks and see references to this
    >> project. Does anyone know if this project is still running? I was
    >> hoping to
    >> find some examples of how to get things setup. Anyone here use it
    >> within a
    >> commercial application? Our Mac team is small, so if I don't have
    >> to "roll
    >> my own", I'd rather not.
    >
    > Why not use ASL, since it's built into the OS?
    > http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >

    Not a framework, but better than NSLog().

    http://borkware.com/rants/agentm/mlog/

    Jonathan Mitchell

    Central Conscious Unit
    http://www.mugginsoft.com

    > --Kyle Sluder
  • I was hoping to find something with built in log level support and non-
    recompile options to turn logging modules on / off
    On 21-Jan-09, at 1:15 PM, Kyle Sluder wrote:

    > On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka
    > <rkukuchka...> wrote:
    >> I'm looking into logging frameworks and see references to this
    >> project. Does anyone know if this project is still running? I was
    >> hoping to
    >> find some examples of how to get things setup. Anyone here use it
    >> within a
    >> commercial application? Our Mac team is small, so if I don't have
    >> to "roll
    >> my own", I'd rather not.
    >
    > Why not use ASL, since it's built into the OS?
    > http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >
    > --Kyle Sluder
  • It's better than NSLog(), but as I replied previously was looking for
    something with built in log level and ways to reconfigure logging
    without recompile
    On 21-Jan-09, at 1:23 PM, <jonathan...> wrote:

    >
    > On 21 Jan 2009, at 21:15, Kyle Sluder wrote:
    >
    >> On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka
    >> <rkukuchka...> wrote:
    >>> I'm looking into logging frameworks and see references to this
    >>> project. Does anyone know if this project is still running? I was
    >>> hoping to
    >>> find some examples of how to get things setup. Anyone here use it
    >>> within a
    >>> commercial application? Our Mac team is small, so if I don't have
    >>> to "roll
    >>> my own", I'd rather not.
    >>
    >> Why not use ASL, since it's built into the OS?
    >> http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >>
    >
    > Not a framework, but better than NSLog().
    >
    > http://borkware.com/rants/agentm/mlog/
    >
    > Jonathan Mitchell
    >
    > Central Conscious Unit
    > http://www.mugginsoft.com
    >
    >> --Kyle Sluder

  • On 21 Jan 2009, at 21:40, Robert Kukuchka wrote:

    > I was hoping to find something with built in log level support and
    > non-recompile options to turn logging modules on / off

    On .NET you can accomplish this with the Enterprise Library Logging
    Application Block, which is very highly configurable.
    I looked around for similar functionality in Cocoa frameworks about a
    year ago and did not find anything remotely similar.

    But maybe it is hiding out there in the bushes somewhere...

    >
    > On 21-Jan-09, at 1:15 PM, Kyle Sluder wrote:
    >
    >> On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka
    >> <rkukuchka...> wrote:
    >>> I'm looking into logging frameworks and see references to this
    >>> project. Does anyone know if this project is still running? I was
    >>> hoping to
    >>> find some examples of how to get things setup. Anyone here use it
    >>> within a
    >>> commercial application? Our Mac team is small, so if I don't have
    >>> to "roll
    >>> my own", I'd rather not.
    >>
    >> Why not use ASL, since it's built into the OS?
    >> http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >>
    >> --Kyle Sluder


    Jonathan Mitchell

    Central Conscious Unit
    http://www.mugginsoft.com
  • Apparently this Log4Cocoa project is based off of a Java project which
    is highly configurable. I'm trying to do an evaluation on the code
    from SF: http://sourceforge.net/projects/log4cocoa/
    Files were updated in 08, but mailing list last updated in 06. Not
    sure if it's dead or what...

    On 21-Jan-09, at 1:48 PM, <jonathan...> wrote:

    >
    > On 21 Jan 2009, at 21:40, Robert Kukuchka wrote:
    >
    >> I was hoping to find something with built in log level support and
    >> non-recompile options to turn logging modules on / off
    >
    > On .NET you can accomplish this with the Enterprise Library Logging
    > Application Block, which is very highly configurable.
    > I looked around for similar functionality in Cocoa frameworks about
    > a year ago and did not find anything remotely similar.
    >
    > But maybe it is hiding out there in the bushes somewhere...
    >
    >>
    >> On 21-Jan-09, at 1:15 PM, Kyle Sluder wrote:
    >>
    >>> On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka <rkukuchka...>
    >>>> wrote:
    >>>> I'm looking into logging frameworks and see references to this
    >>>> project. Does anyone know if this project is still running? I was
    >>>> hoping to
    >>>> find some examples of how to get things setup. Anyone here use it
    >>>> within a
    >>>> commercial application? Our Mac team is small, so if I don't have
    >>>> to "roll
    >>>> my own", I'd rather not.
    >>>
    >>> Why not use ASL, since it's built into the OS?
    >>> http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >>>
    >>> --Kyle Sluder

    >
    > Jonathan Mitchell
    >
    > Central Conscious Unit
    > http://www.mugginsoft.com
  • On Wed, Jan 21, 2009 at 1:15 PM, Kyle Sluder <kyle.sluder...> wrote:
    > On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka <rkukuchka...> wrote:
    >> I'm looking into logging frameworks and see references to this
    >> project. Does anyone know if this project is still running? I was hoping to
    >> find some examples of how to get things setup. Anyone here use it within a
    >> commercial application? Our Mac team is small, so if I don't have to "roll
    >> my own", I'd rather not.
    >
    > Why not use ASL, since it's built into the OS?
    > http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html


    +1
    ASL supports logging level filtering and redirection to one or more
    URLs. It's a C library, but it's quite trivial to write an ObjC
    wrapper on top (email me offline, if you'd like to take a look a my
    code; I'm not quite ready to release it publically).

    Barry

    >
    > --Kyle Sluder
    >
  • On Jan 21, 2009, at 4:56 PM, Barry Wark wrote:

    > On Wed, Jan 21, 2009 at 1:15 PM, Kyle Sluder <kyle.sluder...>
    > wrote:
    >> On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka
    >> <rkukuchka...> wrote:
    >>> I'm looking into logging frameworks and see references to this
    >>> project. Does anyone know if this project is still running? I was
    >>> hoping to
    >>> find some examples of how to get things setup. Anyone here use it
    >>> within a
    >>> commercial application? Our Mac team is small, so if I don't have
    >>> to "roll
    >>> my own", I'd rather not.
    >>
    >> Why not use ASL, since it's built into the OS?
    >> http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >
    > +1
    > ASL supports logging level filtering and redirection to one or more
    > URLs. It's a C library, but it's quite trivial to write an ObjC
    > wrapper on top (email me offline, if you'd like to take a look a my
    > code; I'm not quite ready to release it publically).
    >

    There are a number of reasons to use Log4Cocoa over something like
    ASL.  The fact that it already supports Obj-C is the least of them.
    * It supports various logging levels,
    * supports logging to other than the default system file,
    * different logging levels for different classes.  This is a biggie,
    as often when you are debugging, you want to see very detailed log
    messages, but only for the class or subsystem of interest.
    * the ability to configure logging from a config file or
    programatically,
    * the ability to change logging level without restarting the app,
    * custom formatting of output,
    * automatic log rotation,
    * and others.
  • On Jan 21, 2009, at 4:56 PM, Barry Wark wrote:

    > +1
    > ASL supports logging level filtering and redirection to one or more
    > URLs. It's a C library, but it's quite trivial to write an ObjC
    > wrapper on top (email me offline, if you'd like to take a look a my
    > code; I'm not quite ready to release it publically).

    I tried ASL on my current project for a while, and it was great.

    However, the default settings for syslogd on Leopard (Client, at
    least) caused its log DB to be pruned every Monday, and I needed at
    least a month's worth to hang around. If that's not a show-stopper for
    you, start by giving Peter Hosey's excellent series of articles from
    last year a read:
    <http://boredzo.org/blog/archives/2008-01-19/next-week-apple-system-logger>

    ----
    Karl Moskowski <kolpanic...>
    Voodoo Ergonomics Inc. <http://voodooergonomics.com/>
  • On Thu, Jan 22, 2009 at 11:53 AM, Timothy Reaves
    <treaves...> wrote:
    > There are a number of reasons to use Log4Cocoa over something like
    > ASL.  The fact that it already supports Obj-C is the least of them.
    > * It supports various logging levels,

    As does ASL.

    > * supports logging to other than the default system file,

    ASL does this too.

    > * different logging levels for different classes.  This is a biggie, as
    > often when you are debugging, you want to see very detailed log messages,
    > but only for the class or subsystem of interest.

    I think it's important to remember that ASL is a key-value store, not
    your traditional dump to a tab-delimited logfile.  You can log any set
    of key-value pairs you want and filter it later.

    --Kyle Sluder
  • On Jan 22, 2009, at 1:54 PM, Kyle Sluder wrote:

    > On Thu, Jan 22, 2009 at 11:53 AM, Timothy Reaves
    > <treaves...> wrote:
    >> There are a number of reasons to use Log4Cocoa over something
    >> like
    >> ASL.  The fact that it already supports Obj-C is the least of them.
    >> * It supports various logging levels,
    >
    > As does ASL.
    >
    >> * supports logging to other than the default system file,
    >
    > ASL does this too.
    >
    >> * different logging levels for different classes.  This is a
    >> biggie, as
    >> often when you are debugging, you want to see very detailed log
    >> messages,
    >> but only for the class or subsystem of interest.
    >
    > I think it's important to remember that ASL is a key-value store, not
    > your traditional dump to a tab-delimited logfile.  You can log any set
    > of key-value pairs you want and filter it later.
    >
    > --Kyle Sluder
    >

    Yes, you can filter.  But you still have that huge amount of
    information that was logged, taking up space, and having a huge
    negative impact to performance.  ASL just doesn't cut it, without
    tones of extra code.
  • This doesn't answer the original question, but I believe it is pertinent to this thread.

    It is also possible to log from within Xcode, something I hadn't realized until I saw the video of an excellent talk Joar Wingfors gave at a Silicon Valley Cocoaheads.

    Joel

    http://video.google.com/videoplay?docid=3598467380866353869

    http://theocacao.com/downloads/DebuggingWithXcode.pdf
  • On Jan 23, 2009, at 3:33 PM, Joel Norvell wrote:

    > This doesn't answer the original question, but I believe it is
    > pertinent to this thread.
    >
    > It is also possible to log from within Xcode, something I hadn't
    > realized until I saw the video of an excellent talk Joar Wingfors
    > gave at a Silicon Valley Cocoaheads.
    >
    > Joel
    >
    > http://video.google.com/videoplay?docid=3598467380866353869
    >
    > http://theocacao.com/downloads/DebuggingWithXcode.pdf
    >
    >

    Thanks for the links.  Logging for development debugging is only one
    small use case for logging though.  And the people using Apple's log
    service only see one additional use case, which is for logging on the
    developers machine.  But these two use cases aren't that important to
    software that is sold for use.  If a developer (individual or team)
    has software that they have to support, and users report defects, that
    is where things like NSLog & ASL fail, and a true logging framework is
    needed.

    When trying to figure out a customers issue, you can have them
    manually open the system log file and search for specific info.  You
    also can't have the app always logging debug level detail, as this not
    only consumes large amounts of disk space and impacts performance
    greatly, but is almost useless to the developer (I've seen apps
    produce logs in the gigabyte size).

    Frameworks like Log4Cocoa are a means of doing just about anything
    you want with logging.  In production software, it's valuable because
    it allows a compiled application to change it'[s logging behavior with
    either a restart (if using a config file), or by a few settings in the
    a preferences window and no need to restart.  The app then can produce
    a log file with very detailed logging around the suspected classes/
    subsystems that are of interest, while leaving the rest of the system
    only logging at an error level (for example).  The app can then even
    send that log file to he developer automatically, or the user can
    compress it an e-mail it.  These kinds of things are not possible with
    NSLog or ASL, without building a log framework around them.

    If the software you are writing is for in-house use, or your own use,
    then perhaps NSLog & ASL are what's best for you.  And perhaps for
    most Mac software that is the case.  But there are development
    projects out there that simply need more.
  • I have never used the Log4Cocoa implementation, but I use the Java
    version (log4j) every day. It's got a great API so if Log4Cocoa uses
    most of the same API I would definitely say use it.  It's simple,
    lightweight, and you can learn enough to cover 80% of your needs in a
    just a few hours. It's also configureable enough to most likely handle
    that remaining 20% of things you want to do with it.

    Rob

    On Jan 21, 2009, at 2:20 PM, Robert Kukuchka wrote:

    > Apparently this Log4Cocoa project is based off of a Java project
    > which is highly configurable. I'm trying to do an evaluation on the
    > code from SF: http://sourceforge.net/projects/log4cocoa/
    > Files were updated in 08, but mailing list last updated in 06. Not
    > sure if it's dead or what...
    >
    >
    > On 21-Jan-09, at 1:48 PM, <jonathan...> wrote:
    >
    >>
    >> On 21 Jan 2009, at 21:40, Robert Kukuchka wrote:
    >>
    >>> I was hoping to find something with built in log level support and
    >>> non-recompile options to turn logging modules on / off
    >>
    >> On .NET you can accomplish this with the Enterprise Library Logging
    >> Application Block, which is very highly configurable.
    >> I looked around for similar functionality in Cocoa frameworks about
    >> a year ago and did not find anything remotely similar.
    >>
    >> But maybe it is hiding out there in the bushes somewhere...
    >>
    >>>
    >>> On 21-Jan-09, at 1:15 PM, Kyle Sluder wrote:
    >>>
    >>>> On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka <rkukuchka...>
    >>>>> wrote:
    >>>>> I'm looking into logging frameworks and see references to this
    >>>>> project. Does anyone know if this project is still running? I
    >>>>> was hoping to
    >>>>> find some examples of how to get things setup. Anyone here use
    >>>>> it within a
    >>>>> commercial application? Our Mac team is small, so if I don't
    >>>>> have to "roll
    >>>>> my own", I'd rather not.
    >>>>
    >>>> Why not use ASL, since it's built into the OS?
    >>>> http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >>>>
    >>>> --Kyle Sluder

    >>
    >> Jonathan Mitchell
    >>
    >> Central Conscious Unit
    >> http://www.mugginsoft.com

  • I'm in the process of kicking it's tires, and I'm liking it so far.

    Logging frameworks are one of those things that I'm surprised we don't
    see more Open Source solutions. Probably because logging frameworks
    aren't necessarily glorious, but they're incredibly utilitarian and in
    my opinion necessary.

    I look forward to playing more with Log4Cocoa!

    On 24-Jan-09, at 9:10 AM, Rob Ross wrote:

    > I have never used the Log4Cocoa implementation, but I use the Java
    > version (log4j) every day. It's got a great API so if Log4Cocoa uses
    > most of the same API I would definitely say use it.  It's simple,
    > lightweight, and you can learn enough to cover 80% of your needs in
    > a just a few hours. It's also configureable enough to most likely
    > handle that remaining 20% of things you want to do with it.
    >
    > Rob
    >
    >
    > On Jan 21, 2009, at 2:20 PM, Robert Kukuchka wrote:
    >
    >> Apparently this Log4Cocoa project is based off of a Java project
    >> which is highly configurable. I'm trying to do an evaluation on the
    >> code from SF: http://sourceforge.net/projects/log4cocoa/
    >> Files were updated in 08, but mailing list last updated in 06. Not
    >> sure if it's dead or what...
    >>
    >>
    >> On 21-Jan-09, at 1:48 PM, <jonathan...> wrote:
    >>
    >>>
    >>> On 21 Jan 2009, at 21:40, Robert Kukuchka wrote:
    >>>
    >>>> I was hoping to find something with built in log level support
    >>>> and non-recompile options to turn logging modules on / off
    >>>
    >>> On .NET you can accomplish this with the Enterprise Library
    >>> Logging Application Block, which is very highly configurable.
    >>> I looked around for similar functionality in Cocoa frameworks
    >>> about a year ago and did not find anything remotely similar.
    >>>
    >>> But maybe it is hiding out there in the bushes somewhere...
    >>>
    >>>>
    >>>> On 21-Jan-09, at 1:15 PM, Kyle Sluder wrote:
    >>>>
    >>>>> On Wed, Jan 21, 2009 at 2:58 PM, Robert Kukuchka <rkukuchka...>
    >>>>>> wrote:
    >>>>>> I'm looking into logging frameworks and see references to this
    >>>>>> project. Does anyone know if this project is still running? I
    >>>>>> was hoping to
    >>>>>> find some examples of how to get things setup. Anyone here use
    >>>>>> it within a
    >>>>>> commercial application? Our Mac team is small, so if I don't
    >>>>>> have to "roll
    >>>>>> my own", I'd rather not.
    >>>>>
    >>>>> Why not use ASL, since it's built into the OS?
    >>>>> http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/asl
    .3.html

    >>>>>
    >>>>> --Kyle Sluder

    >>>
    >>> Jonathan Mitchell
    >>>
    >>> Central Conscious Unit
    >>> http://www.mugginsoft.com

    >
previous month january 2009 next month
MTWTFSS
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Go to today