1
0
Fork 0
forked from forgejo/forgejo

Fix sub-command log level (#25537) (#25553)

Backport #25537

More fix for #24981

* #24981

Close #22361, #25552

* #22361
* #25552

There were many patches for Gitea's sub-commands to satisfy the facts:

* Some sub-commands shouldn't output any log, otherwise the git protocol
would be broken
* Sometimes the users want to see "verbose" or "quiet" outputs

That's a longstanding problem, and very fragile. This PR is only a quick
patch for the problem.

In the future, the sub-command system should be refactored to a clear
solution.

----

Other changes:

* Use `ReplaceAllWriters` to replace
`RemoveAllWriters().AddWriters(writer)`, then it's an atomic operation.
* Remove unnecessary `syncLevelInternal` calls, because
`AddWriters/addWritersInternal` already calls it.
This commit is contained in:
wxiaoguang 2023-06-28 17:35:20 +08:00 committed by GitHub
parent 102dcfa3a0
commit 0eb4ab4246
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 39 additions and 18 deletions

View file

@ -23,7 +23,7 @@ func TestSharedWorker(t *testing.T) {
loggerTest := m.GetLogger("test")
loggerTest.AddWriters(w)
loggerTest.Info("msg-1")
loggerTest.RemoveAllWriters() // the shared writer is not closed here
loggerTest.ReplaceAllWriters() // the shared writer is not closed here
loggerTest.Info("never seen")
// the shared writer can still be used later