Commit Graph

157 Commits

Author SHA1 Message Date
Ravi Raju
57da509ee1 Add JournalD Writer ()
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
Olivier Poitrey
89162918d0
Add grpc-zerolog reference (fix ) 2018-04-26 13:41:11 -07:00
Olivier Poitrey
d2b7a51951 Do not print large ints using scientific notation with ConsoleWriter
Fixes 
2018-04-19 13:13:40 -07:00
Dan Gillis
711d95f5f1 Some new readability updates () 2018-04-18 20:29:59 -07:00
Ilya Galimyanov
1e2ce57d98 Make GlobalLevel a public function () 2018-04-17 15:52:22 -07:00
Ravi Raju
70bea47cc0 Fix for a bug in cbor decodeFloat () 2018-04-13 00:13:41 -07:00
Ravi Raju
2ccfab3e07 Support for adding IP Address/Prefix + stream based decoder ()
* added IPAddr, IPPrefix and stream based cbor decoder
* Update README with cbor decoder tool info
* Update README in cbor with comparison data
2018-04-03 23:07:18 +02:00
Olivier Poitrey
05eafee0eb Update README with instruction about binary encoding 2018-03-28 11:59:26 -07:00
Ravi Raju
ddfae1b613 Binary format support ()
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
Olivier Poitrey
3ab376bc30
Add "Who uses zerolog" wiki page link 2018-03-25 22:34:03 -07:00
Olivier Poitrey
d0ca9bbceb Add support for pointer values in Fields
Fixes 
2018-03-25 20:18:47 -07:00
Olivier Poitrey
24cc441b11 Add more json type tests 2018-03-23 09:58:31 -07:00
Olivier Poitrey
4ea03de40d Optimize JSON string encoding using a lookup table
benchstat old new
name                             old time/op    new time/op    delta
AppendString/MultiBytesFirst-8     77.9ns ± 5%    70.2ns ± 1%   -9.88%  (p=0.008 n=5+5)
AppendString/MultiBytesMiddle-8    64.2ns ± 1%    56.3ns ± 5%  -12.19%  (p=0.008 n=5+5)
AppendString/MultiBytesLast-8      51.2ns ± 2%    45.2ns ± 4%  -11.65%  (p=0.008 n=5+5)
AppendString/NoEncoding-8          36.2ns ± 4%    34.0ns ± 6%     ~     (p=0.087 n=5+5)
AppendString/EncodingFirst-8       67.7ns ± 2%    59.4ns ± 2%  -12.26%  (p=0.008 n=5+5)
AppendString/EncodingMiddle-8      56.5ns ± 2%    50.6ns ± 5%  -10.54%  (p=0.008 n=5+5)
AppendString/EncodingLast-8        41.3ns ± 1%    39.6ns ± 5%   -4.11%  (p=0.024 n=5+5)
AppendBytes/MultiBytesLast-8       53.5ns ± 6%    45.6ns ± 4%  -14.79%  (p=0.008 n=5+5)
AppendBytes/NoEncoding-8           36.3ns ± 3%    28.6ns ± 3%  -21.10%  (p=0.008 n=5+5)
AppendBytes/EncodingFirst-8        67.3ns ± 4%    62.1ns ± 4%   -7.75%  (p=0.008 n=5+5)
AppendBytes/EncodingMiddle-8       59.2ns ± 7%    51.0ns ± 6%  -13.85%  (p=0.008 n=5+5)
AppendBytes/EncodingLast-8         43.7ns ± 6%    34.4ns ± 2%  -21.32%  (p=0.008 n=5+5)
AppendBytes/MultiBytesFirst-8      77.7ns ± 2%    71.2ns ± 3%   -8.37%  (p=0.008 n=5+5)
AppendBytes/MultiBytesMiddle-8     63.6ns ± 3%    57.8ns ± 5%   -9.12%  (p=0.008 n=5+5)
2018-03-23 04:24:50 -07:00
Johan Sim Jian An
5250a1ba2d Check nil in RawJSON. () 2018-03-22 21:08:22 -07:00
Ryan Boehning
be4b7c1474 Update for Go 1.10 ()
* Add Go 1.10 to .travis.yml.
* Add quotes to Go versions in .travis.yml, because unquoted 1.10 is interpreted
as Go 1.1.
* Change .travis.yml references from 'tip' to 'master'. 'tip' is a legacy reference
coming from the days when the Go project used mercurial instead of git.
2018-03-15 10:50:30 -07:00
Max Wolter
1c575db928 Add support for hex-encoded of byte slice () 2018-03-15 10:29:26 -07:00
Kai Ren
b62d797a8d Mention fields duplication caveat in documentation () 2018-03-08 07:41:28 -08:00
Olivier Poitrey
8c1c6a0cd7 Add diode.Writer, a thread-safe, lock-free, non-blocking writer wrapper 2018-02-20 02:33:26 -08:00
Giovanni Bajo
9ee98f91c4 Remove allocations while logging an Array of Objects. () 2018-02-13 11:18:01 -08:00
Olivier Poitrey
a717e7cbed Improve ConsoleWriter of non-scalar types 2018-02-13 00:20:42 -08:00
Olivier Poitrey
56a970de51 Add RawJSON field type 2018-02-12 16:05:27 -08:00
Olivier Poitrey
9a92fd2536 Fix typoes 2018-02-10 18:57:53 -08:00
Olivier Poitrey
7d8f9e5cf0 Fix unit tests 2018-02-08 21:29:16 -08:00
Dan Gillis
8eb285b62b Updates to README.md to help with readability ()
* Added missed >m< in github.com
* Added backquotes to denote "code" where appropriate
* Cleanup based on feedback
* Added three examples from README
* Removed Output for 3 examples
* Updated Setting Global Log Level section w/ flags
* Removed unnecessary blank lines
* Moved flags from init into main
* Update log_example_test.go
* Cosmetic change based on Olivier's feedback
* Pushed back to original
* New Examples for Log package
* Removed extra spaces
* Reorganized file and added examples
2018-02-08 21:00:09 -08:00
Olivier Poitrey
27e0a22cbc Add the ability to capture the logger caller file and line number
Fixes , 
2018-02-07 13:54:26 -08:00
Olivier Poitrey
fcbdf23e9e Use new hook internally to handle timestamp in context 2018-02-07 13:31:00 -08:00
Olivier Poitrey
cbec2377ee Add benchmarks for context 2018-02-07 13:07:46 -08:00
Olivier Poitrey
b53826c57a
Add go 1.9 to travis file 2018-01-04 11:28:02 -08:00
zy
1cc67e6325 fix: performance link to invalid section in README.md ()
- No performance section in README.md, change link to performance to benchmarks
2018-01-04 11:19:48 -08:00
nogoegst
c2fc1c63dc Add missing WithLevel method to log package () 2017-12-14 10:33:32 -08:00
Rodrigo Coelho
c3d02683c7 Add hook support () 2017-12-01 10:52:37 -07:00
millerlogic
1251b38a89 Fix sampler for low Burst values () 2017-11-27 10:05:35 -08:00
Rodrigo Coelho
c8e50a6043 Fix tests for Windows. () 2017-11-27 10:01:32 -08:00
Ravi Raju
9a65e7ccd2 Fix Output with existing context (fix )
Also includes tests for Output()
2017-11-08 10:47:56 -08:00
Giovanni Bajo
89e128fdc1 Speed up operations when logging is disabled. ()
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
9d194eb6f5 Remove redundant condition 2017-09-11 14:52:32 -07: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
96c2125038 Update readme to reference Mário Freitas' benchmarks 2017-09-01 19:45:46 -07:00
Olivier Poitrey
d76a89fffc Add benchmark for context appending 2017-08-29 23:10:40 -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
560e8848f1 Remove the SampleFieldName global 2017-08-29 10:35:43 -07:00
Olivier Poitrey
9e5c06cf0e Add more advanced sampling modes 2017-08-28 23:30:54 -07:00
Olivier Poitrey
46339da83a Improve doc for WithContext 2017-08-12 16:16:31 -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
90fdb63d84 Add missing console file 2017-08-05 19:59:04 -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
89ff8dbc5f Small comment fix 2017-07-26 23:42:12 -07:00
Olivier Poitrey
614d88bbf8 Add support for typed array. 2017-07-26 00:30:03 -07:00