Mark McLoughlin
fcc29894c2
config: multiple logging fixes
...
First, don't panic with invalid --log-outputs. For example:
$> ./bin/etcd --log-outputs foo
2018-12-20 15:05:47.988652 C | embed: unknown log-output "foo" (only supports "default", "stderr", "stdout")
panic: unknown log-output "foo" (only supports "default", "stderr", "stdout")
goroutine 1 [running]:
go.etcd.io/etcd/vendor/github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc000294b00, 0x10fe067, 0x30, 0xc0001fa398, 0x4, 0x4)
go.etcd.io/etcd/vendor/github.com/coreos/pkg/capnslog/pkg_logger.go:75 +0x161
go.etcd.io/etcd/embed.(*Config).setupLogging(0xc000291400, 0xc0002a85b0, 0x1)
go.etcd.io/etcd/embed/config_logging.go:120 +0x1939
...
Or:
$> ./bin/etcd --log-outputs foo,default --logger zap
panic: multi logoutput for "default" is not supported yet
goroutine 1 [running]:
go.etcd.io/etcd/embed.(*Config).setupLogging(0xc000314500, 0xc0001b2f70, 0x1)
go.etcd.io/etcd/embed/config_logging.go:129 +0x2437
go.etcd.io/etcd/embed.(*Config).Validate(0xc000314500, 0xc000268a98, 0x127e440)
go.etcd.io/etcd/embed/config.go:543 +0x43
Second, don't exit in embed.setupLogging(). Before:
$> ./bin/etcd --log-outputs foo,bar
--logger=capnslog supports only 1 value in '--log-outputs', got ["bar" "foo"]
and after:
$> ./bin/etcd --log-outputs foo,bar
2018-12-20 15:10:24.317982 E | etcdmain: error verifying flags, --logger=capnslog supports only 1 value in '--log-outputs', got ["bar" "foo"]. See 'etcd --help'.
Third, remove duplicated unique strings code. UniqueStringsFromFlag()
is already available to return a sorted slice of values, so just use
that.
Lastly, fix a tiny logging typo in config.
2019-01-17 15:09:26 -05:00
nolouch
ac090fe326
embed: add zap logger builder
...
Signed-off-by: nolouch <nolouch@gmail.com>
2019-01-15 23:22:04 +08:00
caoming
e7b5f2de26
embed: add test cases in TestAutoCompactionModeParse.
2019-01-02 17:08:15 +08:00
Gyuho Lee
c58f5cfeda
test: disable "unparam" for now
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-17 11:30:28 -08:00
caoming
6744c57de3
embed: set log-outputs 'default' to 'stderr' config when zap mode
2018-12-06 09:33:51 +08:00
Xiang Li
3faed211e5
*: add flags to setup backend related config
2018-11-26 15:50:26 -08:00
Shin'ya Ueoka
aa4313a55a
*: fix github links
2018-11-10 11:14:18 +09:00
Gyuho Lee
d37f1521b7
*: update import paths to "go.etcd.io/etcd"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
Gyuho Lee
3ac4d208ac
embed: combine all info-print functions
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-09 12:32:47 -07:00
Gyuho Lee
3125c0c3e8
embed: support custom cipher suites
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:50:29 -07:00
Gyuho Lee
1ebaeed5c1
embed: fix typo
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 11:15:47 -07:00
Gyuho Lee
7940113906
*: move internal "etcdserver/api/rafthttp"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
Gyuho Lee
2dd555c983
*: move "etcdserver/api/v3compactor"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
Gyuho Lee
afe511945e
embed: rename "SnapshotCount", add "SnapshotCatchUpEntries"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:38:39 -07:00
Gyuho Lee
15fcd6d599
embed: do not support "--log-outputs=default" for zap logger
...
systemd/journal should be configured manually.
Interpreting PPID 1 as systemd unit is wrong,
especially when embedded etcd runs under Docker
container. For such case, every single log write
will error and fall back to stderr, which is
inefficient.
Instead, add "systemd/journal" log output option
and returns error if systemd/journal socket cannot
be found.
"--logger=zap --log-outputs=default" will only error
for v3.4, since zap logger is still experimental.
v3.5 deprecates capnslog and changes "--log-outputs"
default value to "--log-outputs=stderr".
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:47:43 -07:00
Gyuho Lee
3a80499da4
*: rename to "journal"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:38:27 -07:00
Gyuho Lee
5a61dc8008
embed: error when it cannot find journal socket
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:35:11 -07:00
Jiang Xuan
bf432648ae
*: make bcrypt-cost configurable
2018-05-03 11:43:32 -07:00
Gyuho Lee
5828efda38
*: use "zap.Field"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 13:26:39 -07:00
Gyuho Lee
154d7ca4f2
embed: use structured logging in peer handler
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:53:46 -07:00
Gyuho Lee
26b0c84d29
embed: support structured logging in "v2http"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
Gyuho Lee
c316e6773b
embed: clean up structured logging calls
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:22 -07:00
Gyuho Lee
6d0f71e4c2
embed: improve "--log-outputs" error message, add godoc
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 11:54:00 -07:00
Gyuho Lee
b6578c8f4d
embed: error when different values are specified in "--log-output"
...
"--log-output default,a.log" should error out when etcd
runs as a systemd unit. We expect 'default' to be overridden
explicitly.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 17:09:22 -07:00
Gyuho Lee
154e2ac38e
embed: do not import journald dependencies on windows
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:52:53 -07:00
Gyuho Lee
88c70d0ca9
embed,integration,snapshot: use "LogOutputs"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:27:31 -07:00
Gyuho Lee
58a603448a
*: rename to "--log-outputs" in docs
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
Gyuho Lee
af5bc439b3
embed,etcdmain: rename to "--log-outputs" flag
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
Gyuho Lee
f99cb35d29
embed: rename "LogOutput" to "LogOutputs"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:28:13 -07:00
Gyuho Lee
d33a74d380
embed: add "loggerCore" field for Raft logger
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:16:51 -07:00
Gyuho Lee
69c51e2c4a
embed: change "loggerConfig" to "*zap.Config"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
Gyuho Lee
48d5542a76
embed: set journald logging with zap
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
Gyuho Lee
4f45f5d9dd
Merge pull request #9591 from gyuho/election
...
*: add --initial-election-tick-advance to configure election fast-forward on bootstrap
2018-04-23 10:17:49 -07:00
Gyuho Lee
c76c696ed7
embed: sync logger on server close
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 10:54:37 -07:00
Gyuho Lee
bffc532f9f
embed: add "InitialElectionTickAdvance"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
Gyuho Lee
b0112086d6
Merge pull request #9354 from hexfusion/u_sock
...
embed: explicitly define unix proto
2018-04-19 08:16:38 -07:00
Gyuho Lee
229a0c9da6
Merge pull request #9580 from gyuho/log
...
embed: clean up initial server start logs
2018-04-17 15:01:52 -07:00
Gyuho Lee
a47c18ff5b
embed: clean up initial server start logs
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 14:24:08 -07:00
Gyuho Lee
bf937535f5
embed: change "Config.LogOutput" to []string
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
Gyuho Lee
f6f1e0cb65
embed: support multiple log outputs for structured logging
...
Zap support multi-writer by default.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
Gyuho Lee
a31c38f3b0
embed: use /dev/null to discard server logs
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 06:13:24 -07:00
Gyuho Lee
18b3e45e96
*: support --log-output=discard
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 19:09:09 -07:00
Gyuho Lee
35a80bc910
integration,embed: ignore embed log output
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee
cc778746fc
embed: support "io-discard" for logging, fix racey logging setup
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee
c712e08a42
embed,etcdmain: support structured logger
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee
041b9069a2
*: configure server logger
...
- Add/Document "logger" to support structured logging.
- This makes functional tests run easier, since zap logger
provides built-in log redirect to files.
- "etcd --logger-option=zap" to enable structured logging.
- Current "capnslog" will still be used as "default".
- We may switch the default or deprecate "capnslog" in v3.5.
- Either way, will clearly be documented.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Sam Batschelet
2e4f856389
embed: explicitly define unix network
2018-04-15 16:30:44 -04:00
Gyuho Lee
a173e761bb
embed: support logger for TLS
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:42:13 -07:00
Gyuho Lee
feb88ec66b
embed: update "HostWhitelist" godoc
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
Gyuho Lee
a066b03c2c
embed: clean up CORS, HostWhitelist logging
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00