56 Commits

Author SHA1 Message Date
Emlyn Corrin
6dac0ec03e Add socket appender 2013-06-05 13:52:23 +01:00
Peter Taoussanis
7b09d1a562 BREAKING: Refactor Timbre for integration with clojure.tools.logging & logf macros
BREAKING CHANGES:
* Custom appenders that rely on the :more argument will no longer function correctly.
* Stacktraces are no longer automatically generated at the `log`-macro level, but are
left as an appender implementation detail. A :throwable appender argument has been added
along with a `stacktrace` fn.

MIGRATION GUIDE:
* :message is now a string of all arguments as joined by `logp`/`logf`. Appenders that
need unjoined logging arguments (i.e. raw arguments as given to `logp`/`logf`) should
use the new :log-args vector.

MOTIVATION:
The :more argument was always kind of manky.

By joining logging arguments at the `log`-macro level, we simplify appender
implementations and allow the use of different joining strategies like `logp` and
`logf`.

This approach also fits better with the `tools.logging` API, allowing a cleaner
Logger implementation.
2013-06-01 19:29:57 +07:00
Peter Taoussanis
6fc6baee37 Rename appender argument: :max-message-per-msecs -> :limit-per-msecs (backwards compatible) 2013-06-01 19:29:57 +07:00
Peter Taoussanis
c30ae5fbcc Housekeeping 2013-06-01 19:29:57 +07:00
Peter Taoussanis
7c29ce6852 Clean up appender documentation 2013-06-01 19:29:57 +07:00
Emlyn Corrin
0d1dfe6259 Remove extra newline for nicer diff 2013-04-20 08:55:05 +01:00
Emlyn Corrin
3302d17af6 Per-appender prefix-fns 2013-04-19 18:01:55 +01:00
Emlyn Corrin
48f8329dbb Add IRC appender 2013-04-19 14:28:02 +01:00
Peter Taoussanis
0dc4951db7 Fix EvalReader exception when *read-eval* is false (thanks ummels) 2013-04-14 16:30:19 +07:00
Peter Taoussanis
7935493a22 Remove unnecessary set-config! destructuring 2013-03-17 14:40:32 +07:00
Peter Taoussanis
03d2c0c242 nil logging level should be < :trace logging level 2013-03-16 14:30:05 +07:00
Peter Taoussanis
5864673b47 Housekeeping 2013-03-16 14:30:05 +07:00
Peter Taoussanis
17043d20b7 Catch UnknownHostException 2013-02-11 11:47:24 +07:00
Peter Taoussanis
27388879a4 Fix: remove mapv use in frequencies.clj (requires Clojure 1.4+) 2013-02-08 14:21:22 +07:00
Peter Taoussanis
ff5ce760cf Housekeeping 2013-02-07 20:27:17 +07:00
Peter Taoussanis
c7d59a570b Add experimental logging frequency counter (utils/frequencies.clj) 2013-02-07 18:11:46 +07:00
Peter Taoussanis
3258023105 Refactor profiling ns 2013-02-07 18:09:41 +07:00
Peter Taoussanis
9454e0f4ab Add logged-future 2013-02-06 00:37:12 +07:00
Peter Taoussanis
6c359427d9 Use ns as part of flood control message disambiguator 2013-02-05 23:35:14 +07:00
Peter Taoussanis
4184491719 Add middleware support, refactor appender decoration
* Appenders are now decorated via 2 separate mechanisms: a per-appender
  decorator (as before), and a new per-juxt (i.e. combined) decorator.
  The per-juxt wrapping provides a performance-conscious hook for
  higher-level facilities like the new middleware feature.

* Moved compile-time config wrapping from per-appender to per-juxt,
  improving performance.

* Fixed appender wrapper ordering.
2013-02-05 20:05:42 +07:00
Peter Taoussanis
210fe39b37 Add spy alias 2013-02-03 01:10:00 +07:00
Peter Taoussanis
bbbaf036b5 Fix: spy double-evaluation 2013-02-03 01:10:00 +07:00
Peter Taoussanis
a7b41a6f2d Add middleware dev notes 2013-02-03 00:55:23 +07:00
Peter Taoussanis
3c211afe62 Housekeeping 2013-01-29 16:57:28 +07:00
Peter Taoussanis
75778694ff Add with-default-outs, with-err-as-out, log-errors, log-and-rethrow-errors 2013-01-29 16:49:42 +07:00
Peter Taoussanis
b1d60d1bee Swap utils/round-to arg order 2013-01-24 21:58:28 +07:00
Peter Taoussanis
222be9d48e Add merge-config! 2013-01-04 14:50:28 +07:00
Peter Taoussanis
f23b59119d Update utils/deep-merge-with 2013-01-04 14:42:29 +07:00
Peter Taoussanis
d8b35e14cc Label stacktraces in output 2013-01-03 23:37:18 +07:00
Peter Taoussanis
d13b870799 Add string color utils 2013-01-03 23:37:18 +07:00
Peter Taoussanis
7c81fc58de Fix config docstring 2012-12-28 14:12:53 +07:00
Peter Taoussanis
b6b447ca9a Print seconds to 1 decimal place 2012-12-16 19:22:10 +07:00
Peter Taoussanis
b07c044004 Distinguish between wall-clock and accounted times 2012-12-16 19:03:11 +07:00
Peter Taoussanis
d6bc6b2947 Rename 'total'->'time' 2012-12-16 18:45:01 +07:00
Peter Taoussanis
fc51884472 Refactor valid logging-level checks, support non-const logging levels
The `assert-valid-logging-level` macro had the unfortunate side effect of
preventing the use of runtime-evaluated logging-levels.

To get around this without impacting performance, `assert-valid-logging-level`
has been removed and the validty checking moved to the (memoized) level
comparator.

This is cleaner, more flexible, and no slower.
2012-10-26 16:24:42 +07:00
Peter Taoussanis
92e31c7b7c Add simple file spit appender 2012-10-19 15:26:54 +07:00
Peter Taoussanis
dc995c10ad Add utils/deep-merge 2012-10-19 15:05:24 +07:00
Peter Taoussanis
5750fc7c8b Fix ap-config bug 2012-10-19 15:04:42 +07:00
Peter Taoussanis
ad2dad1156 Housekeeping 2012-10-19 15:02:35 +07:00
Peter Taoussanis
c05b7ca392 Allow explicit naming of spy forms 2012-09-21 21:02:58 +07:00
Peter Taoussanis
edf2a13817 Housekeeping 2012-09-02 00:02:06 +07:00
Peter Taoussanis
f58442f355 BREAKING: Clean up config structure. Add prefix-fn option.
Changes to config structure:
* [:shared-appender-config :timestamp-pattern] -> :timestamp-pattern
* [:shared-appender-config :locale]            -> :timestamp-locale
* Add :prefix-fn

Motivation: timestamp options aren't actually config intended for
appenders. Having them in :shared-appender-config was unnecessarily
confusing.

The addition of :prefix-fn allows full control of prefix strings in a
way that carries over automatically to all appenders. Previously,
adjusting prefix text required modifying appender fns.

Changes to default appenders:
* Drop [:appenders :standard-out]
* [:appenders :standard-out-or-err] -> [:appenders :standard-out]

Motivation: the :standard-out-or-err appender was already the default
anyway, and the presence of the :standard-out appender was just
confusing.
2012-07-26 22:39:21 +07:00
Peter Taoussanis
83c8ff19f7 Add utils ns. Add hostname to default prefix fn. 2012-07-26 15:18:49 +07:00
Peter Taoussanis
ba78e67902 CONFIG CHANGE: Bump aggressiveness of Postal appender's default rate-limiter. 2012-07-23 21:10:01 +07:00
Peter Taoussanis
cca1141c7f BREAKING: Moved Postal appender to own ns and no longer automatically include Postal as dependency.
All future appenders that depend on an external library will follow this pattern, allowing the
flexibility to add more diverse appenders without the worry of bloating Timbre core or Timbre's
dependencies.

See updated README example for how to include standard email appender.
2012-07-13 17:32:23 +07:00
Peter Taoussanis
6807e2b6bd str-println now flushes *out* (Marek Srank). 2012-07-13 16:22:54 +07:00
Peter Taoussanis
068d9bf248 Use defonce instead of def for config. 2012-07-12 16:33:21 +07:00
Peter Taoussanis
f454ac9afb Clarified example Postal config. 2012-07-11 13:28:23 +07:00
Peter Taoussanis
d429ccc646 MAD test. 2012-07-05 16:48:14 +07:00
Peter Taoussanis
19f7b898e3 Added Mean Absolute Deviation (MAD) times to profiling output. Misc housekeeping. 2012-07-05 16:39:44 +07:00