Update zh tw languages and fix some broken links (#455)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/455
Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
Lunny Xiao
2026-07-09 23:41:46 +00:00
parent c0f8a04185
commit 965c269495
652 changed files with 30864 additions and 30792 deletions

View File

@@ -8,44 +8,44 @@ aliases:
- /zh-tw/logging-configuration
---
# 日志配置
# 日誌設定
Gitea 的日志配置主要由以下三种类型的组件组成:
Gitea 的日誌設定主要由以下三種類型的元件組成:
- `[log]` 部分用一般配置
- `[log.<mode-name>]` 部分用于配置不同的日志输出方式,也称为 "writer mode",模式名称同时也作 "writer name"
- `[log]` 部分可以包含遵循 `logger.<logger-name>.<CONFIG-KEY>` 模式的子日志记录器的配置
- `[log]` 部分用一般設定
- `[log.<mode-name>]` 部分用於設定不同的日誌輸出方式,也稱為 "writer mode",模式名稱同時也作 "writer name"
- `[log]` 部分可以包含遵循 `logger.<logger-name>.<CONFIG-KEY>` 模式的子日誌記錄器的設定
默认情况下,已有一完全功能的日志输出,因此不需要重新定
預設情況下,已有一完全功能的日誌輸出,因此不需要重新定
## 收集日志以获取帮
## 收集日誌以獲取幫
要收集日志以获取帮助和报告问题,请参阅 [需要](help/support.md)。
要收集日誌以獲取幫助和報告問題,請參閱 [需要](help/support.md)。
## `[log]` 部分
在 Gitea 中,日志设施的配置`[log]` 部分及其子部分。
在 Gitea 中,日誌設施的設定`[log]` 部分及其子部分。
顶层`[log]` 部分,可以放置以下配置项
頂層`[log]` 部分,可以放置以下設定項
- `ROOT_PATH`默认值:**%(GITEA_WORK_DIR)/log**):日文件的基本路
- `MODE`默认值:**console**):要用于默认日志记录器的日志输出列表。
- `LEVEL`默认值:**Info**):要持久化的最重的日事件,不分大小。可能的值`Trace``Debug``Info``Warn``Error``Fatal`
- `STACKTRACE_LEVEL`默认值:**None**对于此类及更重的事件,将在记录时打印堆栈跟踪
- `ROOT_PATH`預設值:**%(GITEA_WORK_DIR)/log**):日文件的基本路
- `MODE`預設值:**console**):要用於預設日誌記錄器的日誌輸出列表。
- `LEVEL`預設值:**Info**):要持久化的最重的日事件,不分大小。可能的值`Trace``Debug``Info``Warn``Error``Fatal`
- `STACKTRACE_LEVEL`預設值:**None**對於此類及更重的事件,將在記錄時打印堆棧跟蹤
可以包含以下子日志记录器:
可以包含以下子日誌記錄器:
- `logger.router.MODE`默认值:**,**):用路由器日志记录器的日志输出列表。
- `logger.access.MODE`默认值:**_empty_**):用于访问日志记录器的日志输出列表。默认情况下,访问日志记录器被禁用。
- `logger.xorm.MODE`默认值:**,**):用 XORM 日志记录器的日志输出列表。
- `logger.router.MODE`預設值:**,**):用路由器日誌記錄器的日誌輸出列表。
- `logger.access.MODE`預設值:**_empty_**):用於訪問日誌記錄器的日誌輸出列表。預設情況下,訪問日誌記錄器被禁用。
- `logger.xorm.MODE`預設值:**,**):用 XORM 日誌記錄器的日誌輸出列表。
子日志记录器的模式设置为逗号`,`)表示使用默认的全 `MODE`
子日誌記錄器的模式設定為逗號`,`)表示使用預設的全 `MODE`
## 快速
## 快速
### 默认(空)配置
### 預設(空)設定
配置等同于默认配置
設定等同於預設設定
```ini
[log]
@@ -57,7 +57,7 @@ logger.router.MODE = ,
logger.xorm.MODE = ,
logger.access.MODE =
; 是“控制”模式的配置选项(由上面的 MODE=console 使用)
; 是“控制”模式的配置選項(由上面的 MODE=console 使用)
[log.console]
MODE = console
FLAGS = stdflags
@@ -65,13 +65,13 @@ PREFIX =
COLORIZE = true
```
等同于将所有日志发送到控制台,并将默认的 Golang 日志也发送到控制台日志中。
等同於將所有日誌發送到控制檯,並將預設的 Golang 日誌也發送到控制檯日誌中。
只是一个示例,默认情况下不需要将其写入配置文件中。
只是一個範例,預設情況下不需要將其寫入設定文件中。
### 禁用路由日志并将一些访问日志记录到文件中
### 禁用路由日誌並將一些訪問日誌記錄到文件中
禁用路由日志,将访问日志>=Warn记录`access.log` 中:
禁用路由日誌,將訪問日誌>=Warn記錄`access.log` 中:
```ini
[log]
@@ -84,16 +84,16 @@ LEVEL = Warn
FILE_NAME = access.log
```
### 不同的模式设置不同的日志级别
### 不同的模式設定不同的日誌級別
将默认日志>=Warn记录`gitea.log` 中,将错误日志记录`file-error.log` 中:
將預設日誌>=Warn記錄`gitea.log` 中,將錯誤日誌記錄`file-error.log` 中:
```ini
[log]
LEVEL = Warn
MODE = file, file-error
; 默认情况下,"file" 模式会将日志记录到 %(log.ROOT_PATH)/gitea.log因此我不需要置它
; 默認情況下,"file" 模式會將日誌記錄到 %(log.ROOT_PATH)/gitea.log因此我不需要置它
; [log.file]
[log.file-error]
@@ -101,165 +101,165 @@ LEVEL = Error
FILE_NAME = file-error.log
```
## 日志输出(模式和入器)
## 日誌輸出(模式和入器)
Gitea 提供以下日志写入器:
Gitea 提供以下日誌寫入器:
- `console` - 出日`stdout`(或 `stderr`,如果已在配置中设置
- `file` - 出日到文件
- `conn` - 出日到套接字(网络或 Unix 套接字)
- `console` - 出日`stdout`(或 `stderr`,如果已在設定中設定
- `file` - 出日到文件
- `conn` - 出日到套接字(網路或 Unix 套接字)
### 公共配置
### 公共設定
某些配置适用于所有日志输出模式:
某些設定適用於所有日誌輸出模式:
- `MODE` 是日志输出写入器的模式。它将默认为 ini 部分的模式名。因此,`[log.console]` 将默认为 `MODE = console`
- `LEVEL` 是此输出将记录的最低日志级别
- `STACKTRACE_LEVEL` 是此输出将打印堆栈跟踪的最低日志级别
- `COLORIZE` 对于 `console`默认为 `true`,否则默认为 `false`
- `MODE` 是日誌輸出寫入器的模式。它將預設為 ini 部分的模式名。因此,`[log.console]` 將預設為 `MODE = console`
- `LEVEL` 是此輸出將記錄的最低日誌級別
- `STACKTRACE_LEVEL` 是此輸出將打印堆棧跟蹤的最低日誌級別
- `COLORIZE` 對於 `console`預設為 `true`,否則預設為 `false`
#### `EXPRESSION`
`EXPRESSION` 表示日事件必匹配才能被输出写入器记录的正则表达式。
消息(去除色)或 `longfilename:linenumber:functionname`匹配其中之一。
注意:整消息或字符串不需要完全匹配。
`EXPRESSION` 表示日事件必匹配才能被輸出寫入器記錄的正則表達式。
消息(去除色)或 `longfilename:linenumber:functionname`匹配其中之一。
注意:整消息或字符串不需要完全匹配。
注意,此表达式将在写入器的 goroutine 中行,而不是在日事件的 goroutine 中行。
注意,此表達式將在寫入器的 goroutine 中行,而不是在日事件的 goroutine 中行。
#### `FLAGS`
`FLAGS` 表示在每消息之前打印的前置日上下文信息
它是一个逗号分隔的字符串集。值的顺序无关紧要。
`FLAGS` 表示在每消息之前打印的前置日上下文資訊
它是一個逗號分隔的字符串集。值的順序無關緊要。
默认值为 `stdflags`= `date,time,medfile,shortfuncname,levelinitial`)。
預設值為 `stdflags`= `date,time,medfile,shortfuncname,levelinitial`)。
可能的值
可能的值
- `none``,` - 无标志
- `date` - 当地时区的日期:`2009/01/23`
- `time` - 当地时区的时间`01:23:23`
- `microseconds` - 微秒精度:`01:23:23.123123`。假定有时间
- `longfile` - 完整的文件名和行`/a/b/c/d.go:23`
- `shortfile` - 文件名的最后一个部分和行`d.go:23`
- `funcname` - 用者的函名:`runtime.Caller()`
- `shortfuncname` - 函名的最一部分。覆 `funcname`
- `utc` - 如果设置了日期或时间,则使用 UTC 而不是本地时区
- `levelinitial` - 提供的级别的初始字符,放在方括号内,例如 `[I]` 表示 info。
- `level` - 在方括号内的级别,例如 `[INFO]`
- `none``,` - 無標誌
- `date` - 當地時區的日期:`2009/01/23`
- `time` - 當地時區的時間`01:23:23`
- `microseconds` - 微秒精度:`01:23:23.123123`。假定有時間
- `longfile` - 完整的文件名和行`/a/b/c/d.go:23`
- `shortfile` - 文件名的最後一個部分和行`d.go:23`
- `funcname` - 調用者的函名:`runtime.Caller()`
- `shortfuncname` - 函名的最一部分。覆 `funcname`
- `utc` - 如果設定了日期或時間,則使用 UTC 而不是本地時區
- `levelinitial` - 提供的級別的初始字符,放在方括號內,例如 `[I]` 表示 info。
- `level` - 在方括號內的級別,例如 `[INFO]`
- `gopid` - 上下文的 Goroutine-PID。
- `medfile` - 文件名的最 20 字符 - 相当于 `shortfile,longfile`
- `stdflags` - 相当于 `date,time,medfile,shortfuncname,levelinitial`
- `medfile` - 文件名的最 20 字符 - 相當於 `shortfile,longfile`
- `stdflags` - 相當於 `date,time,medfile,shortfuncname,levelinitial`
### Console 模式
在此模式下,日志记录器将将日志消息转发到 Gitea 程附加的 stdout 和 stderr 流。
在此模式下,日誌記錄器將將日誌消息轉發到 Gitea 程附加的 stdout 和 stderr 流。
对于 console 模式的日志记录器,如果不在 Windows 上,或者 Windows 端可以设置为 ANSI 模式,或者是 cygwin 或 Msys 管道, `COLORIZE` 默认为 `true`
對於 console 模式的日誌記錄器,如果不在 Windows 上,或者 Windows 端可以設定為 ANSI 模式,或者是 cygwin 或 Msys 管道, `COLORIZE` 預設為 `true`
设置
設定
- `STDERR`**false**:日志记录器是否应将日志打印到 `stderr` 而不是 `stdout`
- `STDERR`**false**:日誌記錄器是否應將日誌打印到 `stderr` 而不是 `stdout`
### File 模式
在此模式下,日志记录器将将日志消息保存到文件中。
在此模式下,日誌記錄器將將日誌消息保存到文件中。
设置
設定
- `FILE_NAME`:要将日志事件入的文件,相对于 `ROOT_PATH`默认为 `%(ROOT_PATH)/gitea.log`常情况:访问日志默认为 `%(ROOT_PATH)/access.log`
- `MAX_SIZE_SHIFT`**28**单个文件的最大大小位移。28 表示 256Mb。详细信息见下文。
- `LOG_ROTATE` **true**:是否轮转日志文件。
- `DAILY_ROTATE`**true**:是否每天旋转日志
- `MAX_DAYS`**7**:在此天数之后删除旋的日文件。
- `COMPRESS`**true**默认情况下是否使用 gzip 压缩旧的日文件。
- `COMPRESSION_LEVEL`**-1**压缩级别。详细信息见下文。
- `FILE_NAME`:要將日誌事件入的文件,相對於 `ROOT_PATH`預設為 `%(ROOT_PATH)/gitea.log`常情況:訪問日誌預設為 `%(ROOT_PATH)/access.log`
- `MAX_SIZE_SHIFT`**28**單個文件的最大大小位移。28 表示 256Mb。詳細資訊見下文。
- `LOG_ROTATE` **true**:是否輪轉日誌文件。
- `DAILY_ROTATE`**true**:是否每天旋轉日誌
- `MAX_DAYS`**7**:在此天數之後刪除旋的日文件。
- `COMPRESS`**true**預設情況下是否使用 gzip 壓縮舊的日文件。
- `COMPRESSION_LEVEL`**-1**壓縮級別。詳細資訊見下文。
`MAX_SIZE_SHIFT`过将给定次左移 1 (`1 << x`) 来定义文件的最大大小。
在 v1.17.3 版本时的确切行可以在[这里](https://github.com/go-gitea/gitea/blob/v1.17.3/modules/setting/log.go#L185)中查看。
`MAX_SIZE_SHIFT`過將給定次左移 1 (`1 << x`) 來定義文件的最大大小。
在 v1.17.3 版本時的確切行可以在[這裡](https://github.com/go-gitea/gitea/blob/v1.17.3/modules/setting/log.go#L185)中查看。
`COMPRESSION_LEVEL` 的有用值范围从 1 到包括9其中高的字表示更好的压缩
注意,更好的压缩可能会带来更高的源使用。
在前面加上 `-`
`COMPRESSION_LEVEL` 的有用值範圍從 1 到包括9其中高的字表示更好的壓縮
注意,更好的壓縮可能會帶來更高的源使用。
在前面加上 `-`
### Conn 模式
在此模式下,日志记录器将通过网络套接字送日消息。
在此模式下,日誌記錄器將通過網路套接字送日消息。
设置
設定
- `ADDR`**:7020**设置要连接的地址。
- `PROTOCOL`**tcp**设置协议,可以是 "tcp"、"unix" 或 "udp"。
- `RECONNECT`**false**:在连接丢失时尝试重新接。
- `RECONNECT_ON_MSG`**false**为每条消息重新接主
- `ADDR`**:7020**設定要連接的地址。
- `PROTOCOL`**tcp**設定協議,可以是 "tcp"、"unix" 或 "udp"。
- `RECONNECT`**false**:在連接丟失時嘗試重新接。
- `RECONNECT_ON_MSG`**false**為每條消息重新接主
### "Router" 日志记录
### "Router" 日誌記錄
Gitea 的路由理程工作Router 日志记录器记录以下消息型:
Gitea 的路由理程工作Router 日誌記錄器記錄以下消息型:
- `started` 消息以 TRACE 级别记录
- `polling`/`completed` 路由以 INFO 级别记录。异常情"/assets" 静态资源请求也以 TRACE 级别记录
- `slow` 路由以 WARN 级别记录
- `failed` 路由以 WARN 级别记录
- `started` 消息以 TRACE 級別記錄
- `polling`/`completed` 路由以 INFO 級別記錄。異常情"/assets" 靜態資源請求也以 TRACE 級別記錄
- `slow` 路由以 WARN 級別記錄
- `failed` 路由以 WARN 級別記錄
### "XORM" 日志记录
### "XORM" 日誌記錄
了使 XORM 出 SQL 日志,还应将 `[database]` 部分中的 `LOG_SQL` 设置为 `true`
了使 XORM 出 SQL 日誌,還應將 `[database]` 部分中的 `LOG_SQL` 設定為 `true`
### "Access" 日志记录
### "Access" 日誌記錄
"Access" 日志记录器是自 Gitea 1.9 版本以的新日志记录器。它提供了符合 NCSA Common Log 标准的日格式。然它具有高度可配置性,但在更改其模板时应谨慎。此日志记录器的主要好Gitea 在可以使用标准日志格式记录访问日志,因此可以使用标准工具行分析。
"Access" 日誌記錄器是自 Gitea 1.9 版本以的新日誌記錄器。它提供了符合 NCSA Common Log 標準的日格式。然它具有高度可設定性,但在更改其模板時應謹慎。此日誌記錄器的主要好Gitea 在可以使用標準日誌格式記錄訪問日誌,因此可以使用標準工具行分析。
您可以通过使用 `logger.access.MODE = ...` 来启用此日志记录器。
您可以透過使用 `logger.access.MODE = ...` 來啟用此日誌記錄器。
如果需要,可以通过更改 `ACCESS_LOG_TEMPLATE` 的值更改 "Access" 日志记录器的格式。
如果需要,可以透過更改 `ACCESS_LOG_TEMPLATE` 的值更改 "Access" 日誌記錄器的格式。
注意,访问日志记录器将`INFO` 级别记录,将此日志记录器的 `LEVEL` 设置为 `WARN` 或更高级别将导致不记录访问日志
注意,訪問日誌記錄器將`INFO` 級別記錄,將此日誌記錄器的 `LEVEL` 設定為 `WARN` 或更高級別將導致不記錄訪問日誌
#### ACCESS_LOG_TEMPLATE
此值表示一 Go 模板。其默认值为
此值表示一 Go 模板。其預設值為
```tmpl
{{.Ctx.RemoteHost}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}" "{{.Ctx.Req.UserAgent}}"`
```
模板接收以下选项
模板接收以下選項
- `Ctx``context.Context`
- `Identity``SignedUserName`,如果用户未登录,则为 "-"
- `Start`求的开始时间
- `Identity``SignedUserName`,如果使用者未登入,則為 "-"
- `Start`求的開始時間
- `ResponseWriter``http.ResponseWriter`
更改此模板时必须小心,因它在标准的 panic 恢陷阱之外行。此模板应该尽可能简单,因为它会为每个请求运行一次。
更改此模板時必須小心,因它在標準的 panic 恢陷阱之外行。此模板應該儘可能簡單,因為它會為每個請求運行一次。
## 放和重新打开、暂停和恢复日志记录
## 放和重新打開、暫停和恢復日誌記錄
如果您在 Unix 上行,您可能希望放和重新打开日志以使用 `logrotate` 或其他工具。
可以通过向运行中的进程发`SIGUSR1`号或运`gitea manager logging release-and-reopen` 命令来强制 Gitea 释放并重新打其日文件和接。
如果您在 Unix 上行,您可能希望放和重新打開日誌以使用 `logrotate` 或其他工具。
可以透過向運行中的進程發`SIGUSR1`號或運`gitea manager logging release-and-reopen` 命令來強制 Gitea 釋放並重新打其日文件和接。
或者,您可能希望停和恢复日志记录 - 可以通过使用 `gitea manager logging pause``gitea manager logging resume` 命令来实现。请注意,日志记录暂停时,低 INFO 级别的日事件将不会存储,并且只会存储有限量的事件。在暂停时,日志记录可能阻塞,管是暂时性的,但大大慢 Gitea 的行速度,因此建议仅暂停很短的时间
或者,您可能希望停和恢復日誌記錄 - 可以透過使用 `gitea manager logging pause``gitea manager logging resume` 命令來實現。請注意,日志記錄暫停時,低 INFO 級別的日事件將不會儲存,並且只會儲存有限量的事件。在暫停時,日誌記錄可能阻塞,管是暫時性的,但大大慢 Gitea 的行速度,因此建議僅暫停很短的時間
### 在 Gitea 运行时添加和除日志记录
### 在 Gitea 運行時添加和除日誌記錄
可以使用 `gitea manager logging add``remove` 子命令在 Gitea 运行时添加和除日志记录
此功能只能整正在行的日志系统,不能用于启动未初始化的访问或路由日志记录器。如果您希望启动这些系,建议调整 app.ini 并(优雅地)重新启动 Gitea 服
可以使用 `gitea manager logging add``remove` 子命令在 Gitea 運行時添加和除日誌記錄
此功能只能調整正在行的日誌系統,不能用於啟動未初始化的訪問或路由日誌記錄器。如果您希望啟動這些系,建議調整 app.ini 並(優雅地)重新啟動 Gitea 服
些命令的主要目的是在行中的系统上轻松添加临时日志记录器,以便调查问题,因重新启动可能会导致问题消失。
些命令的主要目的是在行中的系統上輕鬆添加臨時日誌記錄器,以便調查問題,因重新啟動可能會導致問題消失。
## 使用 `logrotate` 而不是置的日志轮转
## 使用 `logrotate` 而不是置的日誌輪轉
Gitea 包含置的日志轮转功能,对于大多部署来说应该已经足够了。但是,如果您想使用 `logrotate` 工具:
Gitea 包含置的日誌輪轉功能,對於大多部署來說應該已經足夠了。但是,如果您想使用 `logrotate` 工具:
-`app.ini` `LOG_ROTATE` 设置为 `false`,禁用置的日志轮转
- `logrotate`
-部署要求配置 `logrotate`,有关配置语法细节,请参阅 `man 8 logrotate`
`postrotate/endscript` 中通 `kill -USR1``kill -10``gitea` 程本身`USR1`
或者`gitea manager logging release-and-reopen`(使用适当的环境设置)。
确保配置适用于由 Gitea 日志记录器生成的所有文件,如上述部分所述。
-使用 `logrotate /etc/logrotate.conf --debug` 来测试您的配置
- 如果您正在使用 Docker 并从容器外部行,您可以使用
-`app.ini` `LOG_ROTATE` 設定為 `false`,禁用置的日誌輪轉
- `logrotate`
-部署要求設定 `logrotate`,有關設定語法細節,請參閱 `man 8 logrotate`
`postrotate/endscript` 中通 `kill -USR1``kill -10``gitea` 程本身`USR1`
或者`gitea manager logging release-and-reopen`(使用適當的環境設定)。
確保設定適用於由 Gitea 日誌記錄器生成的所有文件,如上述部分所述。
-使用 `logrotate /etc/logrotate.conf --debug` 來測試您的設定
- 如果您正在使用 Docker 並從容器外部行,您可以使用
`docker exec -u $OS_USER $CONTAINER_NAME sh -c 'gitea manager logging release-and-reopen'`
`docker exec $CONTAINER_NAME sh -c '/bin/s6-svc -1 /etc/s6/gitea/'`,或直接向 Gitea 程本身`USR1`
`docker exec $CONTAINER_NAME sh -c '/bin/s6-svc -1 /etc/s6/gitea/'`,或直接向 Gitea 程本身`USR1`
下一 `logrotate`业将包括您的配置,因此不需要重新启动
可以立即使用 `logrotate /etc/logrotate.conf --force` 重新加 `logrotate`
下一 `logrotate`業將包括您的設定,因此不需要重新啟動
可以立即使用 `logrotate /etc/logrotate.conf --force` 重新加 `logrotate`