Skip to content
This repository

Mar 23, 2013

  1. Andrew Thompson

    Typo

    authored March 23, 2013
  2. Andrew Thompson

    Fix tests

    authored March 23, 2013
  3. Andrew Thompson

    Add a seperate process to do file operations in

    This helps bound the mailbox when we need to do a selective receive from
    the file driver.
    authored March 23, 2013

Mar 22, 2013

  1. Andrew Thompson

    Merge pull request #120 from basho/adt-msg-has-datetime

    Improve the performance of the file backend
    authored March 22, 2013

Mar 19, 2013

  1. Andrew Thompson

    Tell travis to test R15B03 and R16B as well

    authored March 19, 2013
  2. Andrew Thompson

    Merge pull request #124 from DeadZen/dz-lager-colors

    This change implements a color spectrum for severity levels, disabled by default.
    authored March 19, 2013
  3. Pedram Nimreezi

    Add colors to lager, not enabled by default

    authored December 13, 2012
  4. Andrew Thompson

    Merge pull request #121 from basho/adt-pdict-metadata

    Allow storage of persistant per-process lager metadata
    authored March 19, 2013

Mar 16, 2013

  1. Andrew Thompson

    Improve the performance of the file backend

    This is done via a combination of several things:
    * Make the loglevel that triggers a sync configurable
    * Make the delayed_write size and intervals configurable
    * Make the interval at which external rotation is checked for
      configurable
    * Store the timestamp a lager_msg was created inside the lager_msg
    
    To support these changes, several other things had to be modified:
    * lager_msg:timestamp now returns a timestamp
    * lager_msg:datetime was added to return the {date, time} of a message,
      like lager_msg:timestamp used to
    * The configuration syntax for file backends was changed to be of the
      form {lager_file_backend, proplist()} and the old syntax was
      deprecated
    
    Additionally, the defaults for the check_interval was raised from
    'always' to 1 second, and the sync_interval was changed from 2 seconds
    to one second.
    authored March 12, 2013

Mar 15, 2013

  1. Andrew Thompson

    Allow storage of persistant per-process lager metadata

    For persistant processes with some immutable metadata (riak vnode and
    the vnode ID, for example), implement lager:md/0 and lager:md/1 for
    getting/setting such metadata into the process dictionary.
    
    Such metadata is automatically included in any lager message metadata,
    so you can just set it in your init() function or whatever and not have
    to worry about passing the data around and using it in every lager call.
    authored March 15, 2013
  2. Andrew Thompson

    Correct some dialyzer warnings

    authored March 14, 2013
  3. Andrew Thompson

    Merge pull request #118 from basho/adt-skip-fast

    In code generated by the parse_transform skip unloggable messages fast
    authored March 14, 2013
  4. Andrew Thompson

    Generate variable names with a function, suggested by @mshonle

    authored March 14, 2013
  5. Andrew Thompson

    In code generated by the parse_transform skip unloggable messages fast

    Originally an idea that Dizzy forwarded to me from Tony Rogvall.
    Basicially all the work lager does gathering metadata and stuff is
    wrapped in a case statement that fails-fast if the message is definitely
    not going to be logged; the severity isn't currently being consumed and
    there's no traces installed.
    
    In my simple test, logging 1 million debug messages, when the debug
    level is not being consumed, goes from taking 2.99 seconds to 1.21
    seconds with this change.
    
    Also, lager pre 1.0 actually had something similar to this, but it was
    removed during a refactor and never re-added.
    authored March 11, 2013

Mar 14, 2013

  1. Andrew Thompson

    Merge pull request #117 from basho/adt-sync-switch

    Switch between gen_event notify/sync_notify based on message queue length
    authored March 14, 2013
  2. Andrew Thompson

    Add a test for async_threshold

    authored March 14, 2013
  3. Andrew Thompson

    Cleanups suggested by @mshonle

    authored March 14, 2013
  4. Andrew Thompson

    Merge pull request #119 from basho/adt-fix-coverage

    Fix 'must be purged before loading' warnings
    authored March 13, 2013
  5. Andrew Thompson

    Don't use code:load it breaks coverage

    authored March 14, 2013
  6. Andrew Thompson

    Merge pull request #110 from basho/adt-http-errors

    Webmachine/Cowboy error pretty-printing
    authored March 13, 2013
  7. Andrew Thompson

    Add formatting tests for cowboy/webmachine errors

    authored March 13, 2013
  8. Andrew Thompson

    Merge pull request #109 from basho/adt-crash-log-false

    Lager failed after long sleep of computer
    authored March 13, 2013

Mar 13, 2013

  1. Andrew Thompson

    Merge pull request #111 from basho/adt-1.2-compat

    Compatability with beams compiled with lager 1.2
    authored March 12, 2013
  2. Andrew Thompson

    compatability with beams compiled with lager 1.2

    authored March 01, 2013

Mar 12, 2013

  1. Andrew Thompson

    Add some tests to test for the bug the previous commit fixed

    authored March 11, 2013
  2. Andrew Thompson

    Merge pull request #114 from ewanmellor/fix-min-level

    Add an update to the global loglevel when a new handler is installed
    authored March 11, 2013

Mar 11, 2013

  1. Andrew Thompson

    Merge pull request #116 from basho/adt-msg-drop

    Implement configurable error_logger msg drop threshold
    authored March 11, 2013
  2. Scott Lystig Fritchie

    A few small things:

    1. Add set_high_water/1 to adjust the high water mark after startup
    2. Add test func t0/0 to demo (interactively only, sorry) that the
       limiting is working as we expect).
    3. Remove a couple of comments.
    authored March 07, 2013 Vagabond committed March 11, 2013
  3. Andrew Thompson

    Implement configurable error_logger msg drop threshold

    Implement a new config option error_logger_hwm, which is a number
    representing how many messages per second we should log from the
    error_logger. If that threshold is exceeded, messages will be discarded
    for the remainder of that second.
    
    This is only effective if lager itself can process the messages fast
    enough to satisfy the threshold. If your threshold is 1000 and lager
    itself is only writing 100 messages a second (because error messages are
    causing fsyncs or whatever) you'll never exceed the threshold and drops
    will never happen. Thus care needs to be taken when selecting this
    feature.
    
    Setting it low is not as bad as it might seem, because when using lager,
    hopefully error_logger messages are unusual. In my testing, 50/second
    with the default config seemed reasonable (which has 2 file backends
    installed, both of which fsync on messages at error or above).
    authored March 07, 2013

Mar 08, 2013

  1. Andrew Thompson

    Switch between gen_event notify/sync_notify based on message queue le…

    …ngth
    
    In normal operation, there's no need for log messages to be synchronous.
    Its slower and introduces a global serialization point in the
    application.
    
    However, when in an overload condition, synchronous logging is good
    because it limits each process to at most 1 log message in flight.
    
    So, this change allows the gen_event at the core of lager to switch
    modes depending on the size of the gen_event's mailbox. It should
    provide better performance in the case of normal load, but it will also
    prevent unbounded mailbox growth if an overload occurs.
    
    The threshold at which the switch between async and sync is done is
    configured via the 'async_threshold' app env var.
    authored March 08, 2013

Mar 07, 2013

  1. Andrew Thompson

    Merge pull request #115 from mworrell/mw-supervisor-name

    Don't assume the supervisor is a registered process.
    authored March 07, 2013
  2. Marc Worrell

    Replaced another use of element(2,Pid). Added some tests with somepid…

    … instead {local,name} as supervisor reference
    authored March 07, 2013
  3. Andrew Thompson

    Allow crash_log option to be 'false' as well

    authored March 07, 2013
  4. Marc Worrell

    Make the tests pass, show the local name whem the supervisor is {loca…

    …l, Name}
    authored March 07, 2013
  5. Marc Worrell

    Don't assume the supervisor is a registered process, it could also be…

    … a pid.
    authored March 07, 2013
Something went wrong with that request. Please try again.