diff options
author | a1012112796 <1012112796@qq.com> | 2021-05-21 23:37:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-21 23:37:16 +0200 |
commit | fec832402625d856aba0cc2fbdec9e773469ad87 (patch) | |
tree | c752057af4d939c7a7d61d6e5817cd68da39af57 /routers/private/ssh_log.go | |
parent | fix default avatar url (#15938) (diff) | |
download | forgejo-fec832402625d856aba0cc2fbdec9e773469ad87.tar.xz forgejo-fec832402625d856aba0cc2fbdec9e773469ad87.zip |
add a new internal hook to save ssh log (#15787)
* add a new internal hook to save ssh log
as title, when a ssh error ocure like #15785.
only when switch ``RUN_MODE`` to dev can we
found which error is ocure. But this way is
not a good idea for production envirment.
this changes try save ssh error mesage to the
log file like other log by a new internal hook.
I think it's usefull for find error message
in production envirment. Thanks.
Signed-off-by: a1012112796 <1012112796@qq.com>
* rename and fix nit
* Update modules/private/hook.go
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to '')
-rw-r--r-- | routers/private/ssh_log.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/routers/private/ssh_log.go b/routers/private/ssh_log.go new file mode 100644 index 0000000000..2f1793a0e0 --- /dev/null +++ b/routers/private/ssh_log.go @@ -0,0 +1,34 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package private + +import ( + "net/http" + + "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/private" + "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/web" +) + +// SSHLog hook to response ssh log +func SSHLog(ctx *context.PrivateContext) { + if !setting.EnableSSHLog { + ctx.Status(http.StatusOK) + return + } + + opts := web.GetForm(ctx).(*private.SSHLogOption) + + if opts.IsError { + log.Error("ssh: %v", opts.Message) + ctx.Status(http.StatusOK) + return + } + + log.Debug("ssh: %v", opts.Message) + ctx.Status(http.StatusOK) +} |