Commit Graph

301 Commits

Author SHA1 Message Date
Peter Taoussanis 17c6986087 Finish up initial new .cljx ns
Wrote whole ns in one sitting; have likely missed some bugs, etc.
2015-05-26 02:40:07 +07:00
Peter Taoussanis f287de4cb2 Initial new .cljx ns (complete rewrite) 2015-05-25 22:16:23 +07:00
Peter Taoussanis d6a70873fc Group 3rd-party appenders 2015-05-25 19:53:28 +07:00
Peter Taoussanis 3853cd3e8f Remove vestigial utils ns 2015-05-25 19:49:08 +07:00
Peter Taoussanis 2dd0121352 *ABORTED*: old v4 refactor 2015-05-25 19:29:55 +07:00
Alexander Yakushev 9e79a6935b [#98] Update Android appender to 3.x API (@alexander-yakushev) 2015-04-13 16:44:08 +07:00
Peter Taoussanis f9ae244f55 Housekeeping for [#93] (f3347c4) 2015-04-13 16:44:08 +07:00
rossputin 614460790a [#93] Create spit appender path if it does not exist (@rossputin) 2015-04-13 16:44:08 +07:00
Peter Taoussanis 2527e1f425 Add encore version check 2015-02-16 13:01:06 +07:00
Peter Taoussanis 426b8774aa Misc hk 2015-02-16 12:53:55 +07:00
Trevor Hartman 1ac261c92c Fix bug in rolling appender where path was ignored
Reference: ptaoussanis/timbre#41
2015-01-09 12:40:32 -07:00
Peter Taoussanis c95e257e17 Housekeeping: remove duplicated code 2014-08-14 18:53:17 +07:00
Peter Taoussanis 8b275387c7 Housekeeping: HEAD^ 2014-08-14 18:48:01 +07:00
Mauro Lopes 6b6395db10 Make defnp support multi-arity functions (@maurolopes) 2014-08-14 18:47:44 +07:00
Peter Taoussanis ee49e44a46 Fix #77: compile-time rather than runtime profile namespaced ids 2014-08-14 18:34:55 +07:00
Peter Taoussanis c9b9b4a809 Fix #47: incorrectly formatted nanosecond profiling times 2014-08-14 18:34:54 +07:00
Peter Taoussanis e18ced6b2e #71: Add note re: possible future `delay` wrapping for `:message`+`:output` keys 2014-08-14 18:34:54 +07:00
Peter Taoussanis f430ed9f81 #72: document `defnp`'s lack of multi-arity support (@ribcakes) 2014-08-14 18:34:54 +07:00
Peter Taoussanis f75d707208 Housekeeping: HEAD^ 2014-08-14 18:34:51 +07:00
Angus Fletcher 5797696fbf Add zmq appender (@angusiguess) 2014-07-27 11:30:56 +07:00
Chris Truter 623342a2bb Update IRC appender to Timbre v3 style (@crisptrutski) 2014-07-27 11:30:51 +07:00
Peter Taoussanis f8f9430727 Fixup c3a9128 2014-05-06 14:42:43 +07:00
Peter Taoussanis c3a9128761 Merge branch 'master' of github.com:ptaoussanis/timbre into dev 2014-05-06 13:11:43 +07:00
James Warren 6af185f28a thread-configurable logging 2014-05-05 16:57:30 -07:00
Peter Taoussanis 160102c5d8 `get-hostname`: remove unnecessary promise, add max blocking time 2014-04-16 15:21:29 +07:00
Peter Taoussanis e92d78789c Profiling stats housekeeping 2014-04-03 17:06:52 +07:00
Peter Taoussanis 48a026b695 Revert "Experimental: improved profiling MAD accuracy over stat merges"
Unnecessarily complex - the naive approach is simpler + produces results
that are sufficiently accurate in most cases.

This reverts commit 6f8795fcb8dc1c2f2e50c4f74afa7f9e256b7ef8.
2014-04-03 17:06:52 +07:00
Peter Taoussanis 23e9566551 Experimental: improved profiling MAD accuracy over stat merges 2014-04-03 17:06:52 +07:00
Peter Taoussanis 54197c1dec Profiling: make larger call numbers easier to read 2014-04-03 17:06:52 +07:00
Peter Taoussanis c05e980e8a Experimental: occasionally gather profiling data to minimize memory overhead 2014-04-03 17:06:52 +07:00
Rohit Aggarwal 420f4190d6 Remove an eastwood warning by turning pre/post map into an empty map if it is nil for the defnp macro. 2014-04-01 14:30:37 +01:00
Peter Taoussanis 43b2f6e870 Fix #56: `defnp`/`p` head retention issue (kyptin) 2014-03-16 18:54:53 +07:00
Peter Taoussanis 76d7ac8b28 Fix: `profiling/p*` was defined incorrectly (kyptin) 2014-03-15 21:41:41 +07:00
Peter Taoussanis c95a3253c7 Minor code formatting 2014-03-13 14:49:44 +07:00
Ian Truslove 6b93bef22b Rotor appender: all logs being rotated after max count reached 2014-03-13 14:47:33 +07:00
Peter Taoussanis f0b1de333e Include `p`, `p*` in `refer-timbre` imports 2014-03-13 01:25:44 +07:00
Peter Taoussanis 85a30fb918 Add `profiling/p*` macro 2014-03-13 01:23:20 +07:00
Peter Taoussanis c58290f864 Fix: profiling id namespacing 2014-03-11 14:42:21 +07:00
Peter Taoussanis 2b8a9d6c80 Revert "Mod Carmine appender to work correctly with Carmine v3+"
This reverts commit 338ac0497d.

On second thought, better addressed upstream by Carmine v3
2014-03-09 18:00:20 +07:00
Peter Taoussanis 338ac0497d Mod Carmine appender to work correctly with Carmine v3+ 2014-03-09 17:47:34 +07:00
Peter Taoussanis f8ab8abc42 Move `make-timestamp-fn` to `encore` lib 2014-03-09 17:46:27 +07:00
Peter Taoussanis 56b143577c Remove faulty+unused tools.macro ns import 2014-02-26 13:37:34 +07:00
Peter Taoussanis 6117b3b18d Add pspy times 2014-02-26 12:59:14 +07:00
Peter Taoussanis f879882e8f Profiling housekeeping, add `pspy*` fn 2014-02-23 20:13:47 +07:00
Peter Taoussanis 7355cd6424 NB migrate utils stuff to `encore` lib 2014-02-23 20:13:47 +07:00
Peter Taoussanis 859cfde81f Carmine appender hk: `conn`->`conn-opts` for consistency wih Carmine v3 2014-02-23 20:13:46 +07:00
ken restivo 581ab21687 Use system-configured formatters, output, stacktrace printers, etc. 2014-02-22 10:25:40 -08:00
ken restivo 603584e13c Clean up unnecessary destructuring. 2014-02-22 09:24:07 -08:00
Peter Taoussanis 87af0d40cc Make Carmine appender resistant to unexpected thaw errors 2014-02-09 19:45:57 +07:00
Peter Taoussanis a995a7baf0 Fix regression: spit appender should print newlines (ristkari, ag0rex) 2014-01-30 15:50:13 +07:00
Peter Taoussanis 6218048a42 misc hk 2013-12-20 16:33:40 +07:00
Peter Taoussanis ef921d5662 hk: remove unnecessary check against `format` msg args 2013-12-19 17:16:42 +07:00
Peter Taoussanis b766013031 Fix namespace filtering (mlb-) 2013-12-17 15:45:09 +07:00
Peter Taoussanis 9fc1d0d8c1 Merge branches 'master' and 'dev' of github.com:ptaoussanis/timbre into dev 2013-12-06 12:37:24 +07:00
megayu 64937ffbc6 rename daily to rolling 2013-12-06 11:31:23 +08:00
megayu f330773bdd add daily rolling file appendar 2013-12-05 17:01:32 +08:00
Peter Taoussanis a0d305f6c2 Postal appender now uses UTF-8 charset by default 2013-12-04 14:41:39 +07:00
Peter Taoussanis e0a9a08b6b Level checks hk, fix compile-time logging level (prepor) 2013-12-04 12:36:34 +07:00
Peter Taoussanis b21d5c3d6c hk 2013-12-04 12:36:34 +07:00
Peter Taoussanis 2c53586e65 Carmine appender: better handling when logging unfreezable args (needs Nippy v2.5.1+) 2013-12-04 12:36:18 +07:00
Peter Taoussanis 38d1c81dd1 Postal appender: allow control of email content-type, etc. 2013-12-04 12:36:18 +07:00
Peter Taoussanis 23d7b775c2 Carmine appender: fix entry hash fetching for empty level logs 2013-12-04 12:36:17 +07:00
Peter Taoussanis a547674bc2 Message formatting: don't call `format` unless formatting args are provided 2013-12-04 12:36:17 +07:00
Peter Taoussanis a7fbaf087a `make-timestamp-fn` is now public 2013-12-04 12:36:17 +07:00
Peter Taoussanis 40a3e58545 Pull default fmt-output-fn out of config (useful in custom reporting, etc.) 2013-12-02 16:12:24 +07:00
Peter Taoussanis 2a303ef2af Carmine appender: reconstitute :instant as Date rather than Long 2013-12-02 16:01:48 +07:00
Peter Taoussanis 8e5329e79f Add unified arg hashing (rate limiter, Carmine appender, etc.) 2013-12-01 22:33:40 +07:00
Peter Taoussanis 136d3553ba Carmine appender: add configurable hash fn 2013-12-01 20:04:14 +07:00
Peter Taoussanis 05326dcfae misc hk 2013-12-01 20:03:37 +07:00
Peter Taoussanis 28e5490480 Fix: `(log nil)` should work as 'never log' 2013-12-01 20:03:37 +07:00
Peter Taoussanis 29113cc203 Update README 2013-12-01 20:03:37 +07:00
Peter Taoussanis 16d2345367 Add tools.logging dep for codox generation 2013-12-01 20:03:37 +07:00
Peter Taoussanis 3dc9d6522b `example-config` docstring hk 2013-12-01 20:03:37 +07:00
Peter Taoussanis d75a2db4dd Clean up postal appender, add new Carmine (Redis) appender 2013-12-01 20:03:37 +07:00
Peter Taoussanis f04aba6e0d Add new appender opt: `:appender-fmt-output-opts` 2013-12-01 20:03:36 +07:00
Peter Taoussanis f83b417cb0 Add `stacktrace` option to control aviso-ex fonts 2013-12-01 20:03:36 +07:00
Peter Taoussanis d8178eca16 nb - add explicit config support to `log`, `logf` macros 2013-12-01 20:03:36 +07:00
Peter Taoussanis 706f16b11c postal appender: use first 150 chars as subject 2013-12-01 20:03:36 +07:00
Peter Taoussanis 5ac604d66d Improve appender rate limiting: now specified as ncalls / window-msecs 2013-12-01 20:03:36 +07:00
Peter Taoussanis 39e568f4fc utils: add `rate-limit` fn 2013-12-01 20:03:36 +07:00
Peter Taoussanis 94a2d4d687 utils hk 2013-12-01 20:03:36 +07:00
Peter Taoussanis 413b2fd529 nb - major refactor (see commit msg for details)
CHANGES
 * DEPRECATED: `red`, `green`, `blue` -> use `color-str` instead.
 * Logging level is now located in `level-atom` rather than `config`.
   This is in prep for new config types. Old in-config levels will be
   respected (i.e. change is backwards compatible).
 * DEPRECATED: config `prefix-fn` has been replaced by the more flexible
   `fmt-output-fn`. Change is backwards compatible.
 * Built-in appenders have been simplified using the new `default-output`
   appender arg.
 * Per-appender `:prefix` option dropped - was unnecessary. If an appender
   wants custom output formatting, it can do so w/o using an in-config
   formatter.

FIXES
 * Messages are now generated _after_ middleware has been applied, allowing
   better filtering performance and more intuitive behaviour (e.g. changes
   to args in middleware will now automatically percolate to message content).
2013-12-01 20:03:36 +07:00
Peter Taoussanis c094f299a5 stacktraces: `clj-stacktrace`->`io.aviso.exception` for stacktrace printing 2013-12-01 20:03:36 +07:00
Peter Taoussanis fb1cc1620b misc hk 2013-12-01 20:03:36 +07:00
Peter Taoussanis f2e18925b2 hk: update `refer-timbre` (notably add profiling stuff) 2013-12-01 20:03:36 +07:00
Peter Taoussanis 383e52aac1 Fix: broken namespace filter (mlb-) 2013-12-01 20:03:35 +07:00
Peter Taoussanis 71712fff5f Housekeeping: ccb5b3e (Android appender) 2013-12-01 20:03:35 +07:00
Adam Clements 1df74f9ab1 Android appender 2013-11-08 18:14:21 +00:00
Peter Taoussanis 2f51612c20 Utils: drop (deprecated) `frequencies` 2013-11-08 21:55:05 +07:00
Peter Taoussanis 1f15c046e0 Utils: update `memoize-ttl` 2013-11-08 21:54:12 +07:00
Peter Taoussanis e48128c6d6 Profiling: housekeeping, fix `defnp` for multi-form bodies 2013-11-06 20:44:43 +07:00
Peter Taoussanis b0fef3d5ce core: don't run getHostName on the main thread (AdamClements) 2013-11-06 15:47:10 +07:00
Peter Taoussanis 1157a0e97c profiling: add `defnp` macro 2013-11-06 15:47:10 +07:00
mopemoepe 33fbbb9c98 Add Simple Rotating File Appender 2013-10-24 09:53:56 +09:00
Peter Taoussanis de9d1b001e Housekeeping 2013-10-22 13:29:23 +07:00
aperiodic 411d16ed1f Fix profiling keyword construction.
Allow for dynamic keywords constructed from runtime data.

Prefix unqualified keywords with the namespace they are used in, rather
than 'taensso.timbre.profiling.
2013-10-21 15:59:20 -07:00
Peter Taoussanis a6f287fe38 Merge pull request #27 from ticking/stdout-atomicity
Fix `str-println` newline
2013-09-25 01:13:21 -07:00
Jan-Paul Bultmann 168ba46c24 Restores the standard-out appender's thread safety.
Since commit 71218f7086 `str-println`
no longer prints the newline with the other output, this is restored.
2013-09-12 18:50:43 +02:00
Chiao 1d592b85cb fixed timbre.tools.logging/use-timbre 2013-09-10 11:09:59 +00:00
Peter Taoussanis a6ecb2c1e6 Make ns-filter runtime again
The compile-time filtering can trip up in surprising ways, and doesn't
work with tools.logging.

This commit switches back to a runtime ns filter which is a teeny, tiny
bit slower - but always predictable.
2013-08-22 21:58:27 +07:00
Peter Taoussanis 4cc5bf3b47 Make ns-filter check compile-time, add optional compile-time logging-level 2013-08-21 14:00:08 +07:00
Peter Taoussanis bad95553c2 Mark `taoensso.timbre.frequencies` ns as deprecated 2013-08-20 22:42:19 +07:00
Peter Taoussanis 77beb18032 Refactor log macro implementations 2013-08-07 23:44:35 +07:00
Peter Taoussanis fd03c042e9 Disable `:line` appender arg (broken) 2013-08-07 22:07:44 +07:00
Peter Taoussanis 718f38c462 Make `make-timestamp-fn` thread safe (thanks to jarppe for report) 2013-08-07 12:44:37 +07:00
Peter Taoussanis 382f9d4f9a Add :file and :line appender args (thanks to jarppe for suggestion) 2013-08-07 12:18:46 +07:00
Peter Taoussanis 8789358c7d Extend `refer-timbre` to `logf` macros 2013-07-30 20:50:36 +07:00
Peter Taoussanis 2d38d2a970 Add output pattern TODO 2013-07-23 21:38:05 +07:00
Peter Taoussanis 545c278394 Allow `fspy` to capture freq for exception-throwing bodies 2013-07-23 14:43:14 +07:00
Peter Taoussanis ce4c9c34de Use Throwable as Postal appender subject when no other args given 2013-07-22 22:41:15 +07:00
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 62ed4086ea Wrap 95109b7 body expansion in `(do)` for hygiene 2013-07-20 22:23:34 +07:00
Peter Taoussanis 7961a8d807 Make `log` an alias for `logp` 2013-07-20 15:15:49 +07:00
Peter Taoussanis 95109b7451 Allow `pspy` to capture time for exception-throwing bodies (thanks Jacek Lach) 2013-07-20 00:39:44 +07:00
Peter Taoussanis 807cb40e0f Housekeeping: profiling & freqs 2013-07-20 00:39:44 +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 634223bdbc Merge branch 'mongo' of github.com:emlyn/timbre into emlyn-mongo 2013-06-27 15:06:08 +07:00
Emlyn Corrin b7ec7ae71b Remove restriction on :throwable, default to all but :ap-config 2013-06-26 18:02:09 +01:00
Peter Taoussanis 25cc163c34 Tweak README 2013-06-22 17:43:56 +07:00
Peter Taoussanis f3d704bc45 Merge pull request #18 from emlyn/socket
TCP Socket Appender (emlyn)
2013-06-14 20:37:42 -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
Emlyn Corrin 7cfae88eb3 Add more default keys, allow setting write-concern 2013-06-05 18:19:18 +01:00
Emlyn Corrin e7bf5015e9 Make threads daemons to not block shutdown, add stacktrace, default to localhost only but allow :all 2013-06-05 16:45:59 +01:00
Peter Taoussanis 912dfb46d0 Fix: `log*` return value should be `nil`, not `true` 2013-06-05 20:16:29 +07:00
Emlyn Corrin 6dac0ec03e Add socket appender 2013-06-05 13:52:23 +01:00
Emlyn Corrin fff4a85b5d Add MongoDB appender 2013-06-05 13:06:11 +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