Olivier Poitrey
614d88bbf8
Add support for typed array.
2017-07-26 00:30:03 -07:00
Olivier Poitrey
6cdd9977c4
Refactor JSON encoding code
2017-07-25 22:05:32 -07:00
Olivier Poitrey
fdbdb09630
Add support for custom object marshaling
2017-07-25 18:41:05 -07:00
Olivier Poitrey
f220d89e1f
Add more benchmarks
2017-07-25 17:25:40 -07:00
Olivier Poitrey
87aceba511
Handle special values like Inf and NaN gracefuly
2017-07-25 16:55:47 -07:00
Olivier Poitrey
2aa3c3ae4f
Add some array types support
2017-07-25 12:50:35 -07:00
Olivier Poitrey
eed4c2b94d
Add access log handler
2017-07-10 03:45:23 -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
c964fc4812
Merge pull request #8 from unixisevil/zerolog/fix
...
fix typo error
2017-07-06 22:29:54 -07:00
Olivier Poitrey
72d41dedeb
Add []byte fields support
...
Add efficient []byte field support with no string conversion.
2017-07-01 12:48:32 -07:00
yj
1b37e7fcd9
fix typo error
2017-06-30 22:53:27 +08:00
Olivier Poitrey
447d0fc7f5
Optimize JSON encoding even further
...
Last optimization was for JSON string with no character to encode. This
version focuses on strings with some chars to encode, trying to apply
the same trick for substrings that do not need encoding.
benchmark old ns/op new ns/op delta
.../NoEncoding-8 60.2 51.3 -14.78%
.../EncodingFirst-8 140 116 -17.14%
.../EncodingMiddle-8 112 86.4 -22.86%
.../EncodingLast-8 62.8 61.1 -2.71%
.../MultiBytesFirst-8 164 129 -21.34%
.../MultiBytesMiddle-8 133 96.9 -27.14%
.../MultiBytesLast-8 81.9 73.5 -10.26%
2017-06-25 15:17:49 -07:00
Olivier Poitrey
9c5f03507d
Add some json encoder benchmarks
2017-06-25 15:17:49 -07:00
Olivier Poitrey
15fc33fe89
Fix sloppy test
2017-06-25 01:12:41 -07:00
Olivier Poitrey
b42b460ec6
Update bench
2017-06-23 20:37:30 -07:00
Josh Baker
f8aa7a1962
Optimistically expect simple strings for json ( #6 )
...
Performance update to appendJSONString so that it now checks if
the input is a simple string that contains no json delimiters, control
characters, or unicode. If simple then the operation is only three
appends. [double-quote, string, double-quote].
If a non-simple character is encountered then all of the previous
characters are appended and the operation falls back to the original
method for the remaining characters.
Before:
BenchmarkLogEmpty-8 100000000 17.1 ns/op
BenchmarkDisabled-8 500000000 4.12 ns/op
BenchmarkInfo-8 20000000 101 ns/op
BenchmarkContextFields-8 20000000 105 ns/op
BenchmarkLogFields-8 5000000 281 ns/op
After:
BenchmarkLogEmpty-8 100000000 16.7 ns/op
BenchmarkDisabled-8 500000000 3.79 ns/op
BenchmarkInfo-8 30000000 44.8 ns/op
BenchmarkContextFields-8 30000000 67.5 ns/op
BenchmarkLogFields-8 10000000 197 ns/op
2017-06-23 20:28:33 -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
9889521807
Add TimeDiff event method
2017-06-06 22:10:36 -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
397b56dc9d
Use defer when expected
2017-06-05 12:43:37 -07:00
Olivier Poitrey
49d553c9b8
Add AnErr field type
2017-06-02 00:56:14 -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
bf4b44614c
Simplify Dur method usage.
2017-05-20 21:08:42 -07:00
Olivier Poitrey
e0e86f933f
Add Msgf test
2017-05-20 20:59:39 -07:00
Olivier Poitrey
6b56a13287
Add a mention about humanlog
2017-05-20 19:50:05 -07:00
Joey Geiger
6fbe7ae422
Fix Typos in Readme ( #4 )
...
The word referrer was also incorrect, but it may need a code change.
2017-05-20 19:28:55 -07:00
Olivier Poitrey
606506fd35
Merge pull request #3 from wjh/patch-1
...
Fix alice URL
2017-05-20 11:55:25 -07:00
Will Huxtable
2af75c68e6
Fix URL
...
The link to alice was invalid, just missing the protocol.
2017-05-20 11:32:00 +01:00
Olivier Poitrey
19a9a81cd2
Add some more doc
2017-05-20 02:22:57 -07:00
Olivier Poitrey
e1be995274
Refactor README
2017-05-20 02:03:07 -07:00
Olivier Poitrey
6a6144a10b
Add http.Handler helpers (adapted from xlog)
2017-05-20 01:48:00 -07:00
Olivier Poitrey
3f54be8716
Improve context.Context logging
2017-05-20 00:22:37 -07:00
Olivier Poitrey
4f55c107b9
Fix typo
2017-05-19 22:48:00 -07:00
Olivier Poitrey
195fd3d7c6
Add support for the duration field
2017-05-19 22:43:10 -07:00
Olivier Poitrey
76d3c39327
Rename Object to Interface
2017-05-19 22:25:37 -07:00
Olivier Poitrey
156a4e8b0f
Use TimeFieldFormat for Timestamp field
2017-05-19 22:14:51 -07:00
Olivier Poitrey
fa2d76dd80
Add some test
2017-05-19 21:57:46 -07:00
Olivier Poitrey
06b7e1c922
Add zap's comparison benchmark
2017-05-19 20:14:13 -07:00
Olivier Poitrey
6925dbdff1
Add support for object reflection field
2017-05-19 19:56:18 -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
19dfb55aa8
Add context methods
2017-05-19 12:59:10 -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
5ebf00efab
Add dict support
2017-05-18 00:10:45 -07:00