Commit Graph

218 Commits

Author SHA1 Message Date
Jason McVetta
b7e31f4fe7
Log relative path for caller when using ConsoleWriter (#267)
* use relative file path
2020-12-28 22:38:24 +01:00
CrazyMax
29d8dac5e8
Allow to exclude parts from console output (#272)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-29 10:13:56 +01:00
Jason McVetta
cac3894be4
don't trim leading slash on callers outside cwd (#266)
Fixes https://github.com/rs/zerolog/issues/265
2020-11-02 13:52:51 +01:00
Dionisio Romero Díaz
9336c4d0ed
Fix AppendFloats64 first element as 32 (#263) 2020-10-27 17:05:59 +01:00
mathew
e11d470c08
Add syslog CEE support (#262) 2020-10-12 15:16:04 +02:00
Mikhail Lukianchenko
72acd6cfe8
Fix typo in diode.NewWriter argument name (#254) 2020-08-06 12:19:27 +02:00
Eugene
9e51190d47
Fix some tests (#245)
* TestUpdateEmptyContext for CBOR
* Properly name CBOR 64 bit tests
2020-06-25 14:48:07 -07:00
Eugene
1b763497ee
Fix UpdateContext panic with empty Context (#244) 2020-06-24 16:11:26 -07:00
Chris Camel
7248ae2fb4
add stringer support for sub-logger (#241)
Same than #185 but for zerolog.Context.
2020-06-17 20:42:03 -07:00
Dima
7825d86337
stringer event method (#185) 2020-05-28 10:43:18 -07:00
Fred Muya
63767a55ec
Add Example for Multiple Outputs using Multiwriter (#198)
Fixes #73
2020-05-28 10:41:39 -07:00
Giuseppe
f83de79b81
Improve documentation wording for SyncWriter (#235)
There is already a lock in place for both POSIX (Linux/Unix/Darwin) and Windows, see:

https://github.com/golang/go/blob/go1.14.3/src/internal/poll/fd_windows.go#L684
https://github.com/golang/go/blob/go1.14.3/src/internal/poll/fd_unix.go#L255
2020-05-25 10:57:14 -07:00
Stig Otnes Kolstad
663cbb4c84
docs: minor typos (#234) 2020-05-14 08:27:19 -07:00
Giuseppe
e027a834ab
Typo fix (#233) 2020-05-14 01:29:30 -07:00
Ravi Raju
50ffd2b67d
Moved 8btye integer tests to a different file (#231)
and that file has a build tag to be excluded from 386 arch

Signed-off-by: Ravi Raju <toravir@yahoo.com>

Co-authored-by: Ravi Raju <toravir@yahoo.com>
2020-05-12 01:24:15 -07:00
Jean-Sébastien Didierlaurent
e86e8f2f49
fix(diode): atomic.AddUint64 in 32-bit cause panic (#229)
see: https://golang.org/pkg/sync/atomic/#pkg-note-BUG
2020-05-11 11:49:43 -07:00
Emir Ribić
de5a95dced
Remove duplicate comment (#227) 2020-05-10 21:54:46 -07:00
Eugene
14dcf38e7d
Make AppendKey in json inlinable (#226)
This change increase performance by inlining this frequently called function

Benchmark:

| name                                   | old time/op |    new time/op |    delta | params |
|---|---|---|---|---|
| LogEmpty-8                               | 14.1ns ±10% |    15.6ns ±13% |  +10.43% |  (p=0.003 n=10+10) |
| Disabled-8                               | 1.27ns ± 0% |    1.35ns ± 1% |   +6.54% |  (p=0.000 n=9+10) |
| Info-8                                   | 39.8ns ± 5% |    37.9ns ± 2% |   -4.55% |  (p=0.000 n=10+10) |
| ContextFields-8                          | 42.2ns ± 4% |    39.7ns ± 3% |   -6.04% |  (p=0.000 n=10+10) |
| ContextAppend-8                          | 15.3ns ± 0% |    14.5ns ± 0% |   -5.23% |  (p=0.000 n=9+10) |
| LogFields-8                              |  179ns ± 0% |     176ns ± 1% |   -1.23% |  (p=0.000 n=10+10) |
| LogArrayObject-8                         |  526ns ± 1% |     491ns ± 1% |   -6.65% |  (p=0.000 n=9+10) |
| LogFieldType/Bools-8                     | 34.5ns ± 2% |    33.3ns ± 4% |   -3.63% |  (p=0.000 n=9+10) |
| LogFieldType/Int-8                       | 29.7ns ± 4% |    28.3ns ± 6% |   -4.71% |  (p=0.003 n=10+10) |
| LogFieldType/Str-8                       | 29.6ns ± 3% |    27.1ns ± 2% |   -8.19% |  (p=0.000 n=10+10) |
| LogFieldType/Time-8                      |  119ns ± 0% |     118ns ± 0% |   -0.84% |  (p=0.000 n=9+9) |
| LogFieldType/Interfaces-8                |  504ns ± 1% |     516ns ± 1% |   +2.46% |  (p=0.000 n=10+10) |
| LogFieldType/Object-8                    | 73.7ns ± 2% |    71.6ns ± 1% |   -2.94% |  (p=0.000 n=10+10) |
| LogFieldType/Bool-8                      | 28.9ns ± 6% |    25.9ns ± 3% |  -10.35% |  (p=0.000 n=9+10) |
| LogFieldType/Strs-8                      | 53.7ns ± 2% |    51.6ns ± 1% |   -3.95% |  (p=0.000 n=9+10) |
| LogFieldType/Err-8                       | 39.2ns ± 2% |    38.1ns ± 4% |   -2.66% |  (p=0.006 n=10+10) |
| LogFieldType/Interface-8                 |  147ns ± 1% |     145ns ± 1% |   -1.22% |  (p=0.001 n=10+10) |
| LogFieldType/Interface(Object)-8         | 78.8ns ± 1% |    76.9ns ± 1% |   -2.43% |  (p=0.000 n=10+10) |
| LogFieldType/Interface(Objects)-8        |  516ns ± 0% |     507ns ± 1% |   -1.66% |  (p=0.000 n=8+10) |
| LogFieldType/Ints-8                      | 52.4ns ± 1% |    48.1ns ± 1% |   -8.28% |  (p=0.000 n=10+10) |
| LogFieldType/Float-8                     | 39.8ns ± 1% |    38.4ns ± 2% |   -3.33% |  (p=0.000 n=10+9) |
| LogFieldType/Times-8                     |  887ns ± 0% |     887ns ± 0% |     ~    |  (p=0.164 n=8+10) |
| LogFieldType/Dur-8                       | 41.1ns ± 2% |    40.2ns ± 6% |   -2.10% |  (p=0.014 n=10+10) |
| LogFieldType/Durs-8                      |  266ns ± 0% |     262ns ± 0% |   -1.35% |  (p=0.000 n=7+10) |
| LogFieldType/Floats-8                    |  166ns ± 0% |     165ns ± 1% |     ~    |  (p=0.238 n=10+10) |
| LogFieldType/Errs-8                      |  126ns ± 1% |     120ns ± 2% |   -4.61% |  (p=0.000 n=10+10) |
| ContextFieldType/Bool-8                  |  140ns ± 2% |     140ns ± 2% |     ~    |  (p=0.701 n=10+9) |
| ContextFieldType/Err-8                   |  150ns ± 3% |     150ns ± 2% |     ~    |  (p=0.932 n=10+10) |
| ContextFieldType/Interfaces-8            |  631ns ± 1% |     628ns ± 1% |     ~    |  (p=0.108 n=10+10) |
| ContextFieldType/Floats-8                |  263ns ± 1% |     257ns ± 1% |   -2.05% |  (p=0.000 n=10+10) |
| ContextFieldType/Errs-8                  |  205ns ± 2% |     204ns ± 2% |     ~    |  (p=0.499 n=10+9) |
| ContextFieldType/Dur-8                   |  146ns ± 3% |     149ns ± 2% |   +1.86% |  (p=0.011 n=9+10) |
| ContextFieldType/Durs-8                  |  372ns ± 1% |     367ns ± 1% |   -1.24% |  (p=0.000 n=10+10) |
| ContextFieldType/Bools-8                 |  145ns ± 2% |     144ns ± 3% |     ~    |  (p=0.447 n=10+10) |
| ContextFieldType/Ints-8                  |  157ns ± 3% |     157ns ± 2% |     ~    |  (p=0.976 n=9+9) |
| ContextFieldType/Float-8                 |  147ns ± 3% |     148ns ± 4% |     ~    |  (p=0.385 n=9+10) |
| ContextFieldType/Strs-8                  |  158ns ± 3% |     157ns ± 2% |     ~    |  (p=0.666 n=10+10) |
| ContextFieldType/Time-8                  |  143ns ± 2% |     141ns ± 3% |   -1.75% |  (p=0.035 n=10+10) |
| ContextFieldType/Times-8                 |  159ns ± 4% |     159ns ± 2% |     ~    |  (p=0.978 n=10+10) |
| ContextFieldType/Interface(Object)-8     |  252ns ± 2% |     251ns ± 2% |     ~    |  (p=0.415 n=10+10) |
| ContextFieldType/Timestamp-8             |  167ns ± 2% |     167ns ± 3% |     ~    |  (p=0.662 n=10+10) |
| ContextFieldType/Int-8                   |  142ns ± 4% |     140ns ± 2% |   -2.04% |  (p=0.026 n=10+10) |
| ContextFieldType/Str-8                   |  142ns ± 1% |     141ns ± 3% |   -1.00% |  (p=0.016 n=9+10) |
| ContextFieldType/Interface-8             |  253ns ± 1% |     249ns ± 3% |     ~    |  (p=0.055 n=9+10) |
| ContextFieldType/Interface(Objects)-8    |  632ns ± 1% |     624ns ± 1% |   -1.20% |  (p=0.000 n=10+9) |
| ContextFieldType/Object-8                |  194ns ± 2% |     192ns ± 2% |     ~    |  (p=0.083 n=10+10) |
| Hooks/Nop/Single-8                       | 16.5ns ± 6% |    15.5ns ± 5% |   -5.95% |  (p=0.001 n=10+10) |
| Hooks/Nop/Multi-8                        | 18.5ns ± 6% |    17.8ns ± 4% |   -3.66% |  (p=0.009 n=10+9) |
| Hooks/Simple-8                           | 31.0ns ± 2% |    28.1ns ± 2% |   -9.24% |  (p=0.000 n=8+9) |
| Samplers/BasicSampler_1-8                | 0.65ns ± 1% |    0.63ns ± 1% |   -1.78% |  (p=0.000 n=10+9) |
| Samplers/BasicSampler_5-8                | 30.0ns ± 1% |    32.2ns ± 0% |   +7.29% |  (p=0.000 n=10+9) |
| Samplers/RandomSampler-8                 | 92.8ns ± 1% |    90.8ns ± 1% |   -2.25% |  (p=0.000 n=10+10) |
| Samplers/BurstSampler-8                  | 34.5ns ± 1% |    36.6ns ± 1% |   +5.95% |  (p=0.000 n=9+9) |
| Samplers/BurstSamplerNext-8              | 46.3ns ± 0% |    46.1ns ± 0% |   -0.41% |  (p=0.001 n=9+7) |
| ConsoleWriter-8                          | 5.90µs ± 0% |    5.84µs ± 1% |   -0.91% |  (p=0.000 n=10+10) |
2020-05-05 19:44:34 -07:00
Olivier Poitrey
a06edf20d7
Fix zerolog.SetGlobalLevel readme 2020-04-20 13:50:01 -07:00
Blake Williams
fe394c81ce
Remove dependency on Goji (#223) 2020-04-12 22:02:06 -07:00
haozibi
1c32ee06a7
Fix: Event.stack initialization error (#219) 2020-03-30 10:16:40 -07:00
Milo
d9df1802de
Updated README (#212)
Updated README to reflect changes in the code - included new field types available, corrected typos.
2020-02-15 09:27:26 -08:00
Olivier Poitrey
f7c93dce1c Fix test on non linux platform 2020-02-10 17:16:38 -08:00
Olivier Poitrey
68a3fd989d Fix a crash condition when AnErr is used with a nil interface 2020-02-10 17:15:06 -08:00
Ilja Neumann
505b18daf2 Return written size when message was sent without error (#190)
- Fixes ErrShortWrite error if used with io.MultiWriter
2020-01-15 13:01:51 -08:00
Ryo Ota
65ed30bfb0 Use ``bash instead of ``go (#209) 2020-01-01 12:32:59 -08:00
Dmitry Savintsev
cb951d468e fix the typo in 'guarantee' (#203) 2019-12-27 09:23:15 -08:00
wphan
d2a97b366b fix ConsoleWriter for TimeFormatMicro (#206) 2019-12-20 09:34:21 -08:00
Olivier Poitrey
f1dd50b8c6 Fix trace again 2019-11-18 16:32:52 -08:00
Olivier Poitrey
686705b4f0 Remove Trace from SyslogWriter interface 2019-11-18 16:29:37 -08:00
Olivier Poitrey
5d9d7660cc Expose the Err helper from the global logger 2019-11-18 16:22:50 -08:00
Olivier Poitrey
54e95fe699 Fix numbering of levels 2019-11-18 09:34:23 -08:00
guonaihong
e709c5d91e Allow custom caller level (#196)
To modify the Caller, you can pass a jump to a few function call stacks.

```go
package main

import (
    "github.com/rs/zerolog"
    "github.com/rs/zerolog/log"
)

func myError() {
    log.Debug().Caller(1).Str("test2", "v2").Send()
}

func foo() {
    log.Debug().Caller(2).Str("test2", "v2").Send()
}

func myError2() {
    foo()
}
func main() {
    zerolog.TimeFieldFormat = zerolog.TimeFormatUnix

    log.Debug().Caller().Str("test1", "v1").Send()
    myError()
    myError2()
}
```
2019-11-11 01:14:19 -08:00
CrazyMax
4502cc1942 Add TraceLevel (#158) 2019-11-04 11:39:22 -08:00
aca
43d05e8ddf hlog: add custom header handler (#197) 2019-11-04 10:14:00 -08:00
Nelz
5861452d64 enable adding raw JSON to an array (#145)
* enable adding JSON to an array

* do not forget the comment
2019-11-04 09:47:06 -08:00
hazimj
7592fcbe60 make TimeFormatUnixMicro var exportable (#189) 2019-10-24 17:02:51 -07:00
Veselkov Konstantin
2e41c37ac4 Fixed comment for documentations (#194) 2019-10-24 03:02:36 -07:00
hazimj
19e454b4c7 Add Unix time format for microseconds (#188) 2019-10-09 20:35:32 -07:00
Veselkov Konstantin
33a4561a07 remove golint errors (#187) 2019-10-04 07:31:06 -07:00
Tim Satke
06599535fa Bumped golang.org/x/tools (#183) 2019-08-28 14:58:12 -07:00
Charles Chan
61d1749124 Fix description in README for Global Settings (#176) 2019-08-11 07:03:49 +02:00
Stefan VanBuren
b806a5ecbe Fix a few typos / clarify. (#169) 2019-07-19 18:10:43 +01:00
Zhang Sen
a7f9fc2a17 simplify code of event.msg() (#165) 2019-07-19 12:35:57 +01:00
Christian Muehlhaeuser
42d101e9f7 Fixed code formatting and import order using goimports (#167) 2019-07-19 12:07:15 +01:00
i6du
77a1695358 add send function for convenience (#164) 2019-07-03 23:16:03 -07:00
wangyuehong
60d4b07b61 Add GetLevel method (#161) 2019-06-20 16:44:55 -07:00
IxDay
9938a23cba Fix JSON when object is first to be pushed (#154)
When pushing an object to the logger, and this object was the first
field added. Zerolog was outputting an invalid json blob, issuing an
extra comma before the object. This patch ensure that JSON is still valid
even if an object is pushed first to the logger.

Fixes #152
2019-06-04 23:48:09 -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
ffd0e9625d Optimize basic sampler 2019-05-23 17:01:18 -07:00