21 Star 123 Fork 11

水不要鱼 / logit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
handler.go 1.57 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史
水不要鱼 提交于 2023-12-20 13:23 . 完善单元测试
// Copyright 2023 FishGoddess. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"io"
"log/slog"
"github.com/FishGoddess/logit"
"github.com/FishGoddess/logit/handler"
)
func main() {
// By default, logit uses tape handler to output logs.
logger := logit.NewLogger()
logger.Info("default handler logging")
// You can change it to other handlers by options.
// For example, use json handler:
logger = logit.NewLogger(logit.WithJsonHandler())
logger.Info("using json handler")
// Or you want to use customized handlers, try Register.
newHandler := func(w io.Writer, opts *slog.HandlerOptions) slog.Handler {
return slog.NewTextHandler(w, opts)
}
if err := handler.Register("demo", newHandler); err != nil {
panic(err)
}
logger = logit.NewLogger(logit.WithHandler("demo"))
logger.Info("using demo handler")
// As you can see, our handler is slog's handler, so you can use any handlers implement this interface.
newHandler = func(w io.Writer, opts *slog.HandlerOptions) slog.Handler {
return slog.NewJSONHandler(w, opts)
}
}
Go
1
https://gitee.com/FishGoddess/logit.git
git@gitee.com:FishGoddess/logit.git
FishGoddess
logit
logit
master

搜索帮助

14c37bed 8189591 565d56ea 8189591