From 230214cc402742a2ef61c5539ce8226e2394529b Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 6 Mar 2022 10:39:04 +0000 Subject: more on this --- gemfeed/atom.xml | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'gemfeed/atom.xml') diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 9090b506..a92c1833 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2022-03-04T09:42:21+00:00 + 2022-03-06T10:28:37+00:00 foo.zone feed To be in the .zone! @@ -28,11 +28,44 @@

What's new in 4.0.0?

Integration testing suite

-

DTail comes already with some unit tests, but what's new is a full integration testing suite which covers all common use cases.

+

DTail comes already with some unit tests, but what's new is a full integration testing suite which covers all common use cases of all the commands (dtail, dcat, dgrep, dmap) with a server backend and also in serverless mode.

+

How are the tests implemented? All integration tests are simply unit tests in the ./integrationtests folder. They must be explicitly activated with:

+
+% export DTAIL_INTEGRATION_TEST_RUN_MODE=yes
+
+

Once done, just run:

+
+% go clean -testcache
+% go test -race -v ./integrationtests
+

Improved code

-

SonarQube/BlackDuck + refactorings to reduce code complexity.

+

Not that the code quality of DTail has been bad, but I had new tools (such as SonarQube and BlackDuck) available to:

+ +

Other than that, a lot of other code has been refactored as I saw fit.

Rewritten logging

+

DTail is a special case when it comes to logging. There are logs processed by DTail, there are logs produced by the DTail server itself and there are logs procudes by one of the DTail clients themselves. Furthermore, there are different log levels too:

+
+// Available log levels.
+const (
+	None    level = iota
+	Fatal   level = iota
+	Error   level = iota
+	Warn    level = iota
+	Info    level = iota
+	Default level = iota
+	Verbose level = iota
+	Debug   level = iota
+	Devel   level = iota
+	Trace   level = iota
+	All     level = iota
+)
+
+

There is no ready Go off-shelf logging library which suited me and the logging code in DTail 3 was just one big source code file with global variables. For DTail 4, logging has been completely rewritten now (package "internal/io/dlog").

+

DTail also supports multiple log outputs (e.g. to file or to stdout). More are now easily pluggable with the new logging package.

Configurable terminal color codes

plus new default

Improved documentation

-- cgit v1.2.3