记录到多个输出

2024-01-02

go语言有没有办法记录不同级别的多个输出?

我想要一个程序,它可以同时记录到信息级别的标准输出和带有时间戳的调试级别的文件。

就像我每次编码一样:

log.Debug("Entering some func")
res := func()
log.Infof("Result was: %s", res)

我可以看到控制台打印:

Result was: Successful

和一个文件:

2015-03-26T01:27:38-04:00 [DEBU]: Entering some func
2015-03-26T01:27:38-04:00 [INFO]: Result was: Successful

我使用 logrus 和 glog,但找不到这个功能。还有其他包或者我可以编码的东西吗?


在寻找登录到多个目的地的方法时发现了这一点。 如果这就是您所需要的并且不担心日志级别,最简单的方法是使用io.Multiwriter:

multi := io.MultiWriter(file, os.Stdout)
log.SetOutput(multi)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记录到多个输出 的相关文章

  • Bazel 构建缺少严格的依赖关系

    我正在尝试使用 brazel 构建 Go 应用程序 它是一个现有的私有 GitHub 存储库 位置如下 github xyz com repo name 我正在研究 我的目标是从 main go 文件创建一个二进制文件 该文件的方法依赖于其
  • 包装 NLog 时如何保留调用点信息

    我有一个包装 NLog 的类 称为 NLogger 我的日志保存到我的数据库中 我遇到的问题是如何显示日志记录发生的位置 我有这个
  • 将屏幕(程序)输出保存到文件

    我需要保存整个输出Screen https en wikipedia org wiki GNU Screen到一个文件以便稍后检查所有内容 原因是我通过串行端口转储闪存 使用 Screen 与其交互 我想将其保存到文件中以检查内存结构 我试
  • Logback:如何仅将错误记录到文件中

    我已经读了 2 个小时的 logback 手册 但仍然不知道如何做我需要的事情 正如标题所说的那样简单 我只想将错误记录到文件中 并将其他级别 包括错误 记录到控制台 这是我的 logcat xml 文件的根部分
  • 使用 Celery 时出现错误消息“无法找到记录器“多处理”的处理程序”

    RabbitMQ http en wikipedia org wiki RabbitMQ现在似乎工作正常 然而 当我尝试 python m celery bin celeryd loglevel INFO 常规的celeryd不起作用 我收
  • 给定方法值,获取接收者对象

    Go 有没有办法从方法值获取接收者对象 例如有没有这样的MagicFunc这将使以下程序输出字符串my info来自底层 Foo 实例 package main import fmt type Foo struct A string fun
  • Golang 按位运算以及一般字节操作

    我有一些 C 代码 可以对字节执行一些按位运算 我正在尝试在 golang 中做同样的事情 但遇到了困难 C 中的示例 byte a c byte data int j c data j c byte c j c a c 0xFF c 0x
  • apache2.4.7 未将“404 Not Found”页面记录到 error.log

    我见过有关如何做的问题not将404错误记录到错误日志中 这是相反的 由于某种原因 我的 apache 安装没有将 404 错误记录到我的错误日志 或与此相关的访问日志 我已经正确设置了错误日志并看到了错误 但是当我访问不存在的页面时 我只
  • nsq 无法通过连接到 nsqlookupd 来消费消息

    我尝试使用 docker compose 来运行 nsq docker compose yml如下 version 3 services nsqlookupd image nsqio nsq command nsqlookupd ports
  • 如何在golang模板上打印JSON?

    我需要在客户端有一个对象 所以我使用 json marshal 将其转换为 JSON 并将其打印到模板中 该对象被打印为转义 JSON 字符串 我期待它是var arr o1 o2 但它是var arr o1 o2 我知道我可以在客户端进行
  • 使用 testify 模拟接口方法两次,输入和输出不同

    如何在 golang 测试中模拟接口方法两次 例如 type myCache interface Get key string data interface error type service struct cache myCache f
  • 如何在C#中执行Go函数

    有没有办法从 C 执行 Go 函数 例如 对于 Python 我会使用 Ironpython 我知道我可以生成一个进程来执行 Go 脚本 但如果可能的话 我真的不想回退到这样的解决方案 Google 搜索没有显示任何内容 那么有什么方法可以
  • 如何检查docker中当前/默认的日志驱动程序?

    我正在尝试检查已停止的 docker 容器的日志 但是当我这样做时docker logs
  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • 在 Go 中使用电子邮件地址创建证书签名请求 (CSR)

    我尝试使用 crypto x509 包生成 CSR 但没有找到将 emailAddress 字段添加到其主题中的方法 根据文档证书申请 http golang org pkg crypto x509 CertificateRequest结构
  • Gorm 总是返回带有 nil 值的结构

    我正在使用 Gorm 构建 Go Web API 作为 Amazon RDS 中 Postgresql 数据库的 ORM 问题是 Gorm 总是返回一片结构 其值全部为零 尽管数据库已经填充了数据 切片中的结构体数量是否合适取决于LIMIT
  • 事件日志解析器的适当设计模式?

    处理一个解析事件日志的项目 然后根据这些事件的属性更新模型 我一直很懒于 完成它 而更关心前期优化 精益代码和正确的设计模式 主要是自学实验 我感兴趣的是更有经验的设计师认为哪些模式是相关的 或者哪种类型的伪代码对象架构是最好的 最容易维护
  • 使用覆盖率信息测试 Go 中的 os.Exit 场景 (coveralls.io/Goveralls)

    这个问题 如何在 Go 中测试 os exit 场景 https stackoverflow com questions 26225513 how to test os exit scenarios in go 以及其中得票最高的答案 列出
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 我应该避免在 golang 中使用单例包吗?

    现在我有一个包裹store包含以下内容 package store var db Database func Open url string error open db connection func FindAll model inter

随机推荐

  • 从 IP 范围到 CIDR 掩码的转换

    我一直在研究一种算法 用于将 IP 范围转换为 CIDR 表示法中的 IP 列表 此后将作为元组提及 现在 让我困惑的是弄清楚这种转换的最坏情况是什么 对于 IPv4 范围 我可以获得的最大元组数是多少 对于 IPv6 范围 我可以获得的最
  • pod 定义中的 env 变量名称重复,确定最终值的优先规则是什么?

    使用 Kubernetes 1 19 3 我使用 3 种不同的方式初始化环境变量值 envpod 定义中具有显式键 值的字段 envFrom using configMapRef and secretRef 当键名重复时 如下例所示 DUP
  • 如何在 kaminari 中设置首页的初始偏移量?

    我需要实现一些逻辑 以便在第一页上显示 3 个元素 在所有下一页上显示 1 个元素 对于第一页来说没有问题 items model limit first page items 对于接下来的所有我尝试过的 model offset firs
  • 如何在 PHP/MySQL 中存储生日和年龄以便年龄可以每天更新?

    我应该如何在 MySQL 中存储生日 以便我可以通过 Cron 作业每天轻松更新每个人的年龄 存储年龄和出生日期是否有意义 以便在进行涉及年龄的搜索时 我不必即时计算每个年龄并浪费 CPU 资源 如果是这样 我应该如何 1 存储出生日期 2
  • 如何在 HTML 中显示字符串而不换行?

    我正在为一个网站编写服务器端代码 并且我可以使用多个字符串来表示每个实体 例如 full name San Francisco Giants long name Giants medium name Giants short name SF
  • ruby 对于所有 x 是否有恒等函数,即 x.fn == x?

    有时 当我将方法名称作为参数传递时 我发现自己希望有一个恒等函数 这样any obj send identity any obj 所以代替这个 transform nil my obj my obj send transform 我可以写
  • mongoDB:通过嵌入值查找

    我在 mongoDB 方面遇到了一些问题 我寻找答案 但找不到任何东西 这解决了我的问题 db coders save name John languages php bad java good brainfuck very bad db
  • Xpages:让 FullCalendar 与引导主题一起使用

    Per 的回答是解决方案的重要组成部分 为了完整起见 这是我最终要做的 首先 我必须解决 Per 提到的 AMD 问题 然后我必须修改我的 Xpage 以确保以正确的顺序加载正确的库 其中一些是通过反复试验完成的 我必须将资源聚合设置设置为
  • python 列表元素明智条件增量

    我已经搜索了一段时间了 基本上我正在尝试按元素有条件地按另一个列表增加一个元素列表 我的代码如下 但是有更好的方法吗 列表理解 地图 我认为像 这样的逐元素运算符来自http www python org dev peps pep 0225
  • string_view 的 C++17 运算符""?

    C 17 是否包含文字后缀const char to std string view转换 auto str asdf s 请问类型str在上面的声明中是std string or std string view 如果我们相信STL的评论 h
  • 如何设置Nuxt 3中useFetch中使用的全局API baseUrl

    如何全局设置 useFetch 可组合项中使用的 baseUrl 可能是 nuxt config ts 如何避免在每次 useFetch 中定义它 您可以定义baseURL在你的nuxt config js ts像这样 import def
  • Windows 静态库检查器?

    我知道有像 PE Explorer 这样的工具可以检查 Windows 上 DLL 的内容 导出的符号等 静态库有类似的东西吗 我正在链接生成一些链接错误的第三方库 并且我想仔细检查是否确实提供了我期望的符号 Dumpbin http su
  • 使用 JavaScript 创建表

    我有一个 JavaScript 函数 它创建一个包含 3 行 2 个单元格的表格 谁能告诉我如何使用我的函数创建下表 我需要根据我的情况执行此操作 下面是我的 JavaScript 和 HTML 代码 function tableCreat
  • VS + Cordova + WP8 = requirejs 模块加载超时

    我正在使用 Visual Studio 2015 Cordova 构建 Windows Phone 手机游戏 当尝试在设备上调试时 我收到此错误 中第 8 行第 137 列未处理的异常 ms appx web net boardgameso
  • 如何在 Vue 3 Composition API 中设置 Pinia getter

    我正在使用 Vue 3 Composition API 和 Pinia 构建 Pokemon 过滤搜索应用程序 我正在尝试设置应用程序 以便将从 Pokemon API 获取的响应传递到 fetchPokemon 函数内的商店 使用 Pin
  • ListView 标题不显示

    我正在做一个Windows Mobile应用程序6 1 我拖入列表视图并转到列并将列添加到列表视图中 当我运行列表视图时 它们不会显示 然后 我尝试使用以下代码在页面加载时通过 C 代码添加它们 ColumnHeader header ne
  • 对象的类型为“未知” - forEach 和 map

    我正在使用一个对象进行循环forEach or map 但是 我在用于循环的变量上遇到类型错误 错误是Object is of type unknown 这发生在val name val title 使用 forEach Object en
  • 如何在 ASP.NET MVC 的 RegisterGlobalFilters 方法中进行依赖项注入

    我对使用 IOC 容器还是有点陌生 而且有点挣扎 我正在使用 ASP NET MVC 5 2 和 Ninject MVC3 我有一个异常过滤器 基本上将其交给日志服务 public class ExceptionLoggerFilter I
  • CLR 如何处理静态类?

    谁能解释一下 CLR 如何处理静态类 CLR 是否创建一个单例实例来在内部处理静态类 如果不是 为什么 C 中有静态构造函数 根据我的理解 我们仅使用构造函数来实例化类 首先 CLR中没有静态类 CLR 对静态类一无所知 这是C 的特点 静
  • 记录到多个输出

    go语言有没有办法记录不同级别的多个输出 我想要一个程序 它可以同时记录到信息级别的标准输出和带有时间戳的调试级别的文件 就像我每次编码一样 log Debug Entering some func res func log Infof R