52 Commits

Author SHA1 Message Date
Peter Taoussanis
ddd9e18d8e Clean up spy error logging, catch Throwables for log-errors, log-and-rethrow-errors 2013-07-22 22:41:15 +07:00
Peter Taoussanis
853807df4c Housekeeping 2013-07-22 22:21:49 +07:00
Peter Taoussanis
758c370ac7 Deprecate logp, s 2013-07-22 22:21:07 +07:00
Peter Taoussanis
b510633f03 Add refer-timbre 2013-07-22 17:53:36 +07:00
Peter Taoussanis
07fdddf2f2 NB: Fix v2.3.2 regression 2013-07-21 17:32:18 +07:00
Peter Taoussanis
7961a8d807 Make log an alias for logp 2013-07-20 15:15:49 +07:00
Peter Taoussanis
ce9ea0ac76 Add with-log-level for thread-local logging levels 2013-07-10 13:45:31 +07:00
Peter Taoussanis
0945b83009 Housekeeping: rename utils/deep-merge -> utils/merge-deep 2013-07-06 00:54:25 +07:00
Peter Taoussanis
25cc163c34 Tweak README 2013-06-22 17:43:56 +07:00
Peter Taoussanis
71218f7086 Allow no-message throwable logging, use str for ex-data printing 2013-06-07 20:45:33 +07:00
Peter Taoussanis
5d4e5f2739 Fix ex-data separator 2013-06-07 20:22:00 +07:00
Peter Taoussanis
eaa4495e49 Add ex-data output to stacktrace fn 2013-06-07 20:15:07 +07:00
Peter Taoussanis
912dfb46d0 Fix: log* return value should be nil, not true 2013-06-05 20:16:29 +07: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
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
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
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
222be9d48e Add merge-config! 2013-01-04 14:50:28 +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
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
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
19f7b898e3 Added Mean Absolute Deviation (MAD) times to profiling output. Misc housekeeping. 2012-07-05 16:39:44 +07:00
Peter Taoussanis
0cb368a0d9 Updated README. Fixed profiler typos. Some other housekeeping. 2012-07-03 19:46:05 +07:00