PLT-3893: Structured Logging Continues (#7252)

* PLT-3893: Imported logger work from https://github.com/MusikPolice/platform

* PLT-3893: Integrated logger with system config

* PLT-3893: Integrated Mattermost config with logging solution, modified log message serialization so entire message is serialized as a JSON object

* PLT-3893: Added support for format strings in Debug methods. Added an overload that does not require a Context object for cases when one isn't available

* PLT-3893: Added context and format string support to debug and error methods

* PLT-3893: A few updates from pull request feedback

* PLT-3893: Changed tests to use testify

* Fixed TestAddRemoveConfigListener to no longer assume that there are zero config listeners when the test begins, since other tests could add config listeners

* Updated TestGetDeletedChannelsForTeam so that it doesn't assume state when it begins

* PLT-3893: Changed File property of log message so that it's relative to /mattermost directory, rather than to wherever the user is running the application from on their machine

* Flipped expected/actual assert arguments, added an explicit test for getCallerFilename(...), since it's failing on Jenkins

* Added printlns to debug failing tests on Jenkins

* Relaxed test cases to avoid failure on Jenkins caused by code coverage calculations. Removed printlns.

* Changed the way that caller filename is determined to make it more robust, updated tests to make them more lax, while not choking on the strange paths that Jenkins uses.

* Fixed gofmt issues

* Added debug output to tests to diagnose Jenkins build failures

* Still trying to get some useful debug logging on Jenkins

* Changed getCallerFilename to handle the strange paths that runtime.Caller(...) returns on Jenkins

* Fixing checkstyle issues
Этот коммит содержится в:
Jonathan
2017-08-31 15:59:03 -04:00
коммит произвёл GitHub
родитель 000d7aad3d
Коммит 74b5e52c4e
6 изменённых файлов: 548 добавлений и 12 удалений

Просмотреть файл

@@ -83,29 +83,27 @@ func TestRedirectStdLog(t *testing.T) {
}
func TestAddRemoveConfigListener(t *testing.T) {
if len(cfgListeners) != 0 {
t.Fatal("should've started with 0 listeners")
}
numIntitialCfgListeners := len(cfgListeners)
id1 := AddConfigListener(func(*model.Config, *model.Config) {
})
if len(cfgListeners) != 1 {
if len(cfgListeners) != numIntitialCfgListeners+1 {
t.Fatal("should now have 1 listener")
}
id2 := AddConfigListener(func(*model.Config, *model.Config) {
})
if len(cfgListeners) != 2 {
if len(cfgListeners) != numIntitialCfgListeners+2 {
t.Fatal("should now have 2 listeners")
}
RemoveConfigListener(id1)
if len(cfgListeners) != 1 {
if len(cfgListeners) != numIntitialCfgListeners+1 {
t.Fatal("should've removed first listener")
}
RemoveConfigListener(id2)
if len(cfgListeners) != 0 {
if len(cfgListeners) != numIntitialCfgListeners {
t.Fatal("should've removed both listeners")
}
}