Veselkov Konstantin
33a4561a07
remove golint errors ( #187 )
2019-10-04 07:31:06 -07:00
wangyuehong
60d4b07b61
Add GetLevel method ( #161 )
2019-06-20 16:44:55 -07:00
Vasiliy Faronov
1a2c7daec4
Fix misleading text about duplicate keys in JSON ( #141 )
...
Per RFC 8259 Section 4, behavior on duplicate keys is unspecified.
Fixes #140 .
2019-05-25 18:51:33 -07:00
Olivier Poitrey
509d727fba
Add the Err function to ease the log errors.
2019-04-19 15:24:32 -07:00
Soloman Weng
8e5449ab35
Allow using custom level field format ( #136 )
2019-03-01 16:08:23 -08:00
Vojtech Vitek
8e36cbf881
Don't call panic() and os.Exit(1) on .WithLevel() ( #110 )
...
* Don't call panic() and os.Exit(1) on .WithLevel()
* Explain behavior of WithLevel(), compared to Panic() & Fatal()
2018-09-27 18:11:43 -07:00
Olivier Poitrey
ea1184be2b
Get back some ns by removing the extra inferance added by binary support
...
benchstat old new
name old time/op new time/op delta
LogEmpty-8 15.2ns ±14% 13.4ns ± 3% -12.11% (p=0.008 n=5+5)
Disabled-8 2.50ns ± 1% 2.28ns ± 6% -8.81% (p=0.008 n=5+5)
Info-8 44.4ns ± 1% 36.4ns ± 4% -17.99% (p=0.008 n=5+5)
ContextFields-8 47.6ns ± 1% 39.4ns ± 7% -17.30% (p=0.008 n=5+5)
ContextAppend-8 18.9ns ± 4% 15.2ns ± 4% -19.68% (p=0.008 n=5+5)
LogFields-8 181ns ± 2% 173ns ± 2% -4.63% (p=0.008 n=5+5)
LogArrayObject-8 530ns ± 3% 487ns ± 3% -8.11% (p=0.008 n=5+5)
LogFieldType/Int-8 29.5ns ± 3% 28.8ns ± 2% ~ (p=0.167 n=5+5)
LogFieldType/Interface-8 180ns ± 7% 175ns ± 4% ~ (p=0.579 n=5+5)
LogFieldType/Interface(Object)-8 87.8ns ± 3% 80.5ns ± 1% -8.29% (p=0.008 n=5+5)
LogFieldType/Object-8 83.7ns ± 2% 77.2ns ± 3% -7.76% (p=0.008 n=5+5)
LogFieldType/Bools-8 34.6ns ± 3% 32.3ns ± 6% -6.64% (p=0.032 n=5+5)
LogFieldType/Float-8 43.0ns ± 4% 40.5ns ± 4% -5.86% (p=0.016 n=5+5)
LogFieldType/Str-8 29.8ns ± 2% 26.5ns ± 5% -11.01% (p=0.008 n=5+5)
LogFieldType/Err-8 32.8ns ± 2% 29.8ns ± 4% -9.21% (p=0.008 n=5+5)
LogFieldType/Durs-8 309ns ± 3% 304ns ± 3% ~ (p=0.238 n=5+5)
LogFieldType/Floats-8 175ns ± 2% 174ns ± 3% ~ (p=0.968 n=5+5)
LogFieldType/Strs-8 51.0ns ± 3% 48.4ns ± 6% -5.06% (p=0.032 n=5+5)
LogFieldType/Dur-8 44.5ns ± 3% 41.3ns ± 3% -7.11% (p=0.008 n=5+5)
LogFieldType/Interface(Objects)-8 758ns ± 3% 760ns ± 6% ~ (p=1.000 n=5+5)
LogFieldType/Interfaces-8 772ns ± 5% 762ns ± 4% ~ (p=0.794 n=5+5)
LogFieldType/Bool-8 28.0ns ± 6% 26.5ns ± 9% ~ (p=0.143 n=5+5)
LogFieldType/Ints-8 49.6ns ± 2% 46.2ns ± 2% -6.70% (p=0.008 n=5+5)
LogFieldType/Errs-8 46.5ns ±11% 40.9ns ± 4% -11.92% (p=0.008 n=5+5)
LogFieldType/Time-8 115ns ± 3% 113ns ± 3% ~ (p=0.167 n=5+5)
LogFieldType/Times-8 810ns ± 1% 811ns ± 3% ~ (p=0.889 n=5+5)
ContextFieldType/Errs-8 158ns ± 6% 156ns ±12% ~ (p=1.000 n=5+5)
ContextFieldType/Times-8 165ns ±11% 173ns ± 9% ~ (p=0.651 n=5+5)
ContextFieldType/Interface-8 289ns ±13% 287ns ±11% ~ (p=0.690 n=5+5)
ContextFieldType/Interface(Object)-8 285ns ±12% 297ns ± 6% ~ (p=0.238 n=5+5)
ContextFieldType/Interface(Objects)-8 941ns ± 6% 941ns ± 5% ~ (p=1.000 n=5+5)
ContextFieldType/Object-8 201ns ± 5% 210ns ±12% ~ (p=0.262 n=5+5)
ContextFieldType/Ints-8 173ns ±10% 165ns ± 9% ~ (p=0.198 n=5+5)
ContextFieldType/Floats-8 297ns ± 6% 292ns ± 7% ~ (p=0.579 n=5+5)
ContextFieldType/Timestamp-8 174ns ± 9% 174ns ±11% ~ (p=0.810 n=5+5)
ContextFieldType/Durs-8 445ns ± 9% 425ns ± 3% ~ (p=0.151 n=5+5)
ContextFieldType/Interfaces-8 944ns ± 6% 876ns ±10% ~ (p=0.095 n=5+5)
ContextFieldType/Strs-8 179ns ±11% 165ns ±13% ~ (p=0.135 n=5+5)
ContextFieldType/Dur-8 158ns ± 8% 160ns ±19% ~ (p=1.000 n=5+5)
ContextFieldType/Time-8 152ns ±15% 148ns ±14% ~ (p=0.952 n=5+5)
ContextFieldType/Str-8 146ns ±12% 147ns ±16% ~ (p=0.841 n=5+5)
ContextFieldType/Err-8 138ns ±12% 145ns ±17% ~ (p=0.595 n=5+5)
ContextFieldType/Int-8 145ns ±10% 146ns ±13% ~ (p=0.873 n=5+5)
ContextFieldType/Float-8 181ns ± 9% 162ns ±12% ~ (p=0.151 n=5+5)
ContextFieldType/Bool-8 153ns ±10% 131ns ±19% ~ (p=0.063 n=5+5)
ContextFieldType/Bools-8 149ns ±11% 160ns ±16% ~ (p=0.500 n=5+5)
2018-05-10 15:01:41 -07:00
Olivier Poitrey
a572c9d1f6
Add missing support for zerolog marshable objects to Fields
2018-05-09 03:52:30 -07:00
Ravi Raju
57da509ee1
Add JournalD Writer ( #57 )
...
JournalD writer decodes each log event and map fields to journald fields. The JSON payload is kept in the `JSON` field.
2018-04-26 23:15:29 -07:00
Ilya Galimyanov
1e2ce57d98
Make GlobalLevel a public function ( #53 )
2018-04-17 15:52:22 -07:00
Ravi Raju
ddfae1b613
Binary format support ( #37 )
...
Adds support for binary logging (with cbor encoding) in addition to JSON. Use the binary_log compile tag to enable the feature.
2018-03-28 11:49:41 -07:00
Kai Ren
b62d797a8d
Mention fields duplication caveat in documentation ( #41 )
2018-03-08 07:41:28 -08:00
Olivier Poitrey
fcbdf23e9e
Use new hook internally to handle timestamp in context
2018-02-07 13:31:00 -08:00
Rodrigo Coelho
c3d02683c7
Add hook support ( #24 )
2017-12-01 10:52:37 -07:00
Ravi Raju
9a65e7ccd2
Fix Output with existing context ( fix #20 )
...
Also includes tests for Output()
2017-11-08 10:47:56 -08:00
Giovanni Bajo
89e128fdc1
Speed up operations when logging is disabled. ( #18 )
...
Low-level optimizations to help the compiler generate better code
when logging is disabled. Measured improvement is ~30% on amd64
(from 21 ns/op to 16 ns/op).
2017-11-05 05:22:20 -08:00
Olivier Poitrey
3ac71fc58d
Simplify copies
2017-09-03 11:01:28 -07:00
Olivier Poitrey
26094019c8
Fix godoc
2017-09-01 20:07:47 -07:00
Olivier Poitrey
8c682b3b12
Add Print and Printf top level methods
2017-09-01 19:59:48 -07:00
Olivier Poitrey
e26050b2a3
Improve hlog handlers performance by switching to pointer logger
...
Update request logger's context thru its pointer in order to avoid
multiple copies/allocations.
2017-08-29 22:53:32 -07:00
Olivier Poitrey
9e5c06cf0e
Add more advanced sampling modes
2017-08-28 23:30:54 -07:00
Olivier Poitrey
2ed2f2c974
Fix pretty logging and add a screenshot to the README
2017-08-05 20:45:41 -07:00
Olivier Poitrey
a83efb6080
Add a ConsoleWriter to output pretty log on the console during dev
2017-08-05 19:47:55 -07:00
Olivier Poitrey
6cdd9977c4
Refactor JSON encoding code
2017-07-25 22:05:32 -07:00
Olivier Poitrey
7af653895b
Add utility functions WithLevel and Fields
...
Add some utility functions to ease migration from other logger API.
2017-07-10 02:58:58 -07:00
Olivier Poitrey
2e3da1d5b5
Always place timestamp as first field for better log readability
2017-06-08 10:12:49 -07:00
Olivier Poitrey
2a829377cb
Rename warning field to warn in the output
2017-06-08 10:03:03 -07:00
Olivier Poitrey
3f6ca6688c
Fix Fatal and Panic not terminating to program
2017-06-06 10:23:34 -07:00
Olivier Poitrey
46cd35d1f2
Remove error returned by Msg and Msgf
...
When error happen, there is nothing the caller can really do and it is
not practicle to handle logging errors. Print an error on the standard
error instead.
2017-06-06 10:10:31 -07:00
Olivier Poitrey
95ecd5ad27
Fix Log level
2017-06-05 13:03:55 -07:00
Olivier Poitrey
7e8bba7e7f
Fix typos
2017-06-05 13:03:55 -07:00
Olivier Poitrey
67803eb791
Add Nop constructor
2017-06-02 00:24:52 -07:00
Olivier Poitrey
6bcd15ecf0
Add support for zerolog as an output for stdlib logger
2017-06-01 23:17:28 -07:00
Olivier Poitrey
6a6144a10b
Add http.Handler helpers (adapted from xlog)
2017-05-20 01:48:00 -07:00
Olivier Poitrey
d0cfcbbafe
Write directly into a single shared buffer per event for even better perf
2017-05-19 19:45:46 -07:00
Olivier Poitrey
77726764ed
Optimize disabled logging
2017-05-19 09:56:31 -07:00
Olivier Poitrey
a417fb1a8b
Fix sample template types
2017-05-19 09:48:01 -07:00
Olivier Poitrey
af9dd4ec23
Add SyncWriter utility type for non-thread-safe writers
2017-05-19 09:13:04 -07:00
Olivier Poitrey
d0a1bd7e3e
Make GlobalLevel and DisableSampling thread safe
2017-05-15 11:18:42 -07:00
Olivier Poitrey
7f302b00ec
Initial commit
2017-05-13 16:22:35 -07:00