> 原文 [Guide](https://github.com/golang/example/blob/master/slog-handler-guide/README.md) 标准库的 `log/slog` 包采用两部分设计。由 `Logger` 类型实现的“前端”收集经过结构化的日志信息(如消息、级别和属性),并将它们传递给“后端”,即 `Handler` 接口的实现。该软件包带有两个内置处理程序,通常应该足够了。但是您可能需要编写自己的处理程序,这并不总是那么简单。本指南随时为您提供帮助。 # 记录器(logger)及其处理程序(handler) 编写处理程序需要了解 `Logger` 和 `Handler` 类型如何协同工作。 每个记录器都包含一个处理程序。某些 `Logger` 方法会执行一些预备工作,例如将键值对收集到 `Attrs` 中,然后调用一个或多个 `Handler` 方法。这些 `Logger` 方法是 `With`、`WithGroup` 和输出方法。 输出方法履行记录器的主要作用:生成日志输出。下面是对输出方法的调用: `...
 发布日期: 2024-07-17    分类: 后端   浏览量: 152
在 `Node.js` 中,你可以使用多种方法对数组进行去重。以下是几种常见的方法: - **方法一:使用 Set** `Set` 是 `ES6` 中引入的一种数据结构,它只存储唯一的值。你可以利用它来对数组进行去重。 ```js const array = [1, 2, 3, 4, 4, 5, 5, 6]; const uniqueArray = [...new Set(array)]; console.log(uniqueArray); // [1, 2, 3, 4, 5, 6] ``` - **方法二:使用 filter 和 indexOf** 你可以使用 `filter` 方法结合 `indexOf` 来过滤掉重复的元素。 ```js const array = [1, 2, 3, 4, 4, 5, 5, 6]; const uniqueArray = array.filter((item, index) => array.indexOf(item) === index); console.log(uniqueArray);...
 发布日期: 2024-06-21    分类: 前端   浏览量: 262
Navicat Premium v16.3.8 (64 bit) 官网下载安装包,安装后替换对应文件即可,非无限试用补丁。 缺点是只有英文,中文版会变成英文。 使用方法在压缩包 分享了「Navicat_Win_v16.3.8_En_x64.7z」,点击链接即可保存 链接:https://pan.quark.cn/s/b2fed507ad71...
 发布日期: 2024-05-28    分类: 其他   浏览量: 385
**场景:** 使用一个git平台,比如github或者阿里云的云效。 有多个账户或者同一个账户,多个仓库使用不同ssh密钥,由于域名都一样,需要做一些配置才能用上对的密钥。 ** 1. 生成ssh密钥到 `~/.ssh`** **2. 添加配置 `~/.ssh/config`** ```shell # 账户1的配置 Host github-account1 HostName github.com User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_account1 # 账户2的配置 Host github-account2 HostName github.com User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_account2 ``` - `Host`:`HostName`的...
 发布日期: 2024-05-15    分类: 其他   浏览量: 326
使用Golang读取pfx格式证书里面的私钥,用RSA算法签名数据。 代码如下: ```go package main import ( "crypto" "crypto/rand" "crypto/rsa" "crypto/sha256" "encoding/base64" "log" "os" pkcs12 "software.sslmate.com/src/go-pkcs12" ) func main() { rsaSingFromPfxKey() } func rsaSingFromPfxKey() { data := "测试数据" // 读取pfx私钥 certPath := "./20190801.3300000002925831.pfx" certBytes, err := os.ReadFile(certPath) if err != nil { log.Fatal(err) } pkey, _, _ := pkcs12.Decode(certBytes,...
 发布日期: 2024-04-30    分类: 后端   浏览量: 513
```nginx server { location / { proxy_buffering off; proxy_http_version 1.1; proxy_read_timeout 36000s; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; if ($subdomain = "plex") { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; ...
 发布日期: 2024-04-03    分类: 后端   浏览量: 567
激活步骤: 1. 下载安装原版Navicat 2. 下载附件文件,替换文件 3. 可选步骤,删除注册表项:`HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration16XEN\` 附件: 链接: https://pan.baidu.com/s/1RqMEroA_gmdm90DG9rjPxA?pwd=an3n 提取码: `an3n`...
 发布日期: 2023-11-24    分类: 其他   浏览量: 1250
Ubuntu如何开启或关闭Wayland? 1、编辑文件`sudo nano /etc/gdm3/custom.conf` 开启:`WaylandEnable=true` 关闭:`WaylandEnable=false`  2、登出,在登录也就选择会话类型...
 发布日期: 2023-11-03    分类: 其他   浏览量: 1587
Ubuntu 23.10在10月13号发布了正式版本,发布后出现了一个小插曲,修正了一下。到今天25号了,用命令sudo do-release-upgrade检测新版本还是显示未找到新版本,这是什么原因呢?我们可以看这个链接的内容https://changelogs.ubuntu.com/meta-release看看里面有没有23.10,如果没有那是检查不到更新的。这时如果需要升级可以加上-d参数,通过开发版通道来升级,版本也正式版是一样的。 ...
 发布日期: 2023-10-25    分类: 其他   浏览量: 1424
可观测性主要包括三个方面:追踪(traces)、指标(metrics)和日志(logs)。 OpenTelemetry 的指标功能还是测试状态,没有实现日志的功能,日志可以用其他流行的日志库记录,然后收集到类似ELK的日志系统里面。 追踪数据存储后端是用`jaeger`,指标数据存储后端是用`prometheus`。 前面几个文章实现的是追踪,本文主要讲一下指标。 指标数据直接用`prometheus`的go客户端生成也是一样的,不一定需要用`OpenTelemetry`提供的库。 `OpenTelemetry`的方式是先创建`exporter`和`provider`,之后就可以生成指标了,`main.go`: ```go import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" "go.opentelemetry.io/otel/attribute" p...
 发布日期: 2023-05-17    分类: Go   浏览量: 1569