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

@@ -6,44 +6,44 @@ aliases:
- /zh-tw/logging-configuration
---
# 日誌配置
# 日誌設定
Gitea 的日誌配置主要包括 3 種件:
Gitea 的日誌設定主要包括 3 種件:
- `[log]` 部分用於一般配置
- `[log.<mode-name>]` 部分用於配置不同的日誌寫入器以輸出日誌,即:“寫入模式”,模式名稱也用作“寫入器名稱”。
- `[log]` 部分還可以包含子日誌記錄器配置,遵循鍵模式 `logger.<logger-name>.<CONFIG-KEY>`
- `[log]` 部分用於一般設定
- `[log.<mode-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]
@@ -63,9 +63,9 @@ PREFIX =
COLORIZE = true
```
這等同於將所有日誌發送到控制台,默認的 Golang 日誌也發送到控制日誌。
這等同於將所有日誌發送到控制檯,預設的 Golang 日誌也發送到控制日誌。
這只是例,這是默認值,不需要將其寫入配置文件中。
這只是例,這是預設值,不需要將其寫入設定文件中。
### 禁用路由器日誌並將一些訪問日誌記錄到文件中
@@ -82,9 +82,9 @@ LEVEL = Warn
FILE_NAME = access.log
```
### 為不同模式設不同的日誌級別
### 為不同模式設不同的日誌級別
默認日誌(>=Warn進入 `gitea.log`,而錯誤日誌進入 `file-error.log`
預設日誌(>=Warn進入 `gitea.log`,而錯誤日誌進入 `file-error.log`
```ini
[log]
@@ -106,18 +106,18 @@ FILE_NAME = file-error.log
Gitea 提供以下日誌輸出寫入器:
- `console` - 日誌記錄到 `stdout`(或如果在配置中設,則記錄到 `stderr`
- `console` - 日誌記錄到 `stdout`(或如果在設定中設,則記錄到 `stderr`
- `file` - 日誌記錄到文件
- `conn` - 日誌記錄到套接字(網或 unix
- `conn` - 日誌記錄到套接字(網或 unix
### 通用配置
### 通用設定
某些配置對所有日誌輸出模式都是通用的:
某些設定對所有日誌輸出模式都是通用的:
- `MODE` 是日誌輸出寫入器的模式。它將默認為 ini 部分中的模式名稱。因此 `[log.console]`默認`MODE = console`
- `MODE` 是日誌輸出寫入器的模式。它將預設為 ini 部分中的模式名稱。因此 `[log.console]`預設`MODE = console`
- `LEVEL` 是此輸出的最低級別。
- `STACKTRACE_LEVEL` 是此輸出將打印堆棧跟蹤的最低級別。
- `COLORIZE`默認`true`,如描述的那樣,否則將默認`false`
- `COLORIZE`預設`true`,如描述的那樣,否則將預設`false`
#### `EXPRESSION`
@@ -129,9 +129,9 @@ Gitea 提供以下日誌輸出寫入器:
#### `FLAGS`
`FLAGS` 代表在每條消息之前打印的前置日誌上下文信息。它是一個逗號分隔的字符串集。值的順序無關緊要。
`FLAGS` 代表在每條消息之前打印的前置日誌上下文資訊。它是一個逗號分隔的字符串集。值的順序無關緊要。
默認`stdflags`= `date,time,medfile,shortfuncname,levelinitial`
預設`stdflags`= `date,time,medfile,shortfuncname,levelinitial`
可能的值是:
@@ -143,20 +143,20 @@ Gitea 提供以下日誌輸出寫入器:
- `shortfile` - 最後的文件名元素和行號:`d.go:23`
- `funcname` - 調用者的函數名稱:`runtime.Caller()`
- `shortfuncname` - 函數名稱的最後部分。覆蓋 `funcname`
- `utc` - 如果設了日期或時間,則使用 UTC 而不是當地時區。
- `levelinitial` - 括號中的提供級別的首字母,例如 `[I]` 表示信息
- `utc` - 如果設了日期或時間,則使用 UTC 而不是當地時區。
- `levelinitial` - 括號中的提供級別的首字母,例如 `[I]` 表示資訊
- `level` - 括號中的級別 `[INFO]`
- `gopid` - 上下文的 Goroutine-PID。
- `medfile` - 文件名的最後 20 個字符 - 相當於 `shortfile,longfile`
- `stdflags` - 相當於 `date,time,medfile,shortfuncname,levelinitial`
### 控制模式
### 控制模式
在此模式下,日誌記錄器將轉發日誌消息到附加到 Gitea 進程的 stdout 和 stderr 流。
對於控制模式的日誌記錄器,如果不是在 Windows 上,或者 Windows 終端可以設為 ANSI 模式或是 cygwin 或 Msys 管道,則 `COLORIZE`默認`true`
對於控制模式的日誌記錄器,如果不是在 Windows 上,或者 Windows 終端可以設為 ANSI 模式或是 cygwin 或 Msys 管道,則 `COLORIZE`預設`true`
- `STDERR`**false**:日誌記錄器是否應打印到 `stderr` 而不是 `stdout`
@@ -164,15 +164,15 @@ Gitea 提供以下日誌輸出寫入器:
在此模式下,日誌記錄器將日誌消息保存到文件中。
- `FILE_NAME`:寫入日誌事件的文件,相對於 `ROOT_PATH`默認`%(ROOT_PATH)/gitea.log`。例外:訪問日誌將默認`%(ROOT_PATH)/access.log`
- `MAX_SIZE_SHIFT`**28**單個文件的最大大小移位。28 代表 256Mb。詳細信息請參見下文。
- `FILE_NAME`:寫入日誌事件的文件,相對於 `ROOT_PATH`預設`%(ROOT_PATH)/gitea.log`。例外:訪問日誌將預設`%(ROOT_PATH)/access.log`
- `MAX_SIZE_SHIFT`**28**單個文件的最大大小移位。28 代表 256Mb。詳細資訊請參見下文。
- `LOG_ROTATE` **true**是否旋轉日誌文件。TODO如果為 false是否會在每日旋轉時刪除還是什麼都不做
- `DAILY_ROTATE`**true**:是否每天旋轉日誌。
- `MAX_DAYS`**7**:在此天數後刪除旋轉的日誌文件。
- `COMPRESS`**true**:是否默認使用 gzip 壓縮舊日誌文件。
- `COMPRESSION_LEVEL`**-1**:壓縮級別。詳細信息請參見下文。
- `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) 看到。
@@ -182,18 +182,18 @@ v1.17.3 時的確切行為可以在 [這裡](https://github.com/go-gitea/gitea/b
### 連接模式
在此模式下,日誌記錄器將通過網套接字發送日誌消息。
在此模式下,日誌記錄器將通過網套接字發送日誌消息。
- `ADDR`**:7020**:設要連接的地址。
- `PROTOCOL`**tcp**:設協議可以是“tcp”、“unix”或“udp”。
- `ADDR`**:7020**:設要連接的地址。
- `PROTOCOL`**tcp**:設協議可以是“tcp”、“unix”或“udp”。
- `RECONNECT`**false**:連接丟失時嘗試重新連接。
- `RECONNECT_ON_MSG`**false**:為每條消息重新連接主機。
### “路由器”日誌記錄器
當 Gitea 的路由處理程工作時,路由器日誌記錄器記錄以下消息類型:
當 Gitea 的路由處理程工作時,路由器日誌記錄器記錄以下消息類型:
- `started` 消息將在 TRACE 級別記錄
- `polling`/`completed` 路由將在 INFO 級別記錄。例外:“/assets” 靜態資源請求也在 TRACE 級別記錄。
@@ -202,21 +202,21 @@ v1.17.3 時的確切行為可以在 [這裡](https://github.com/go-gitea/gitea/b
### “XORM”日誌記錄器
要使 XORM 輸出 SQL 日誌,應在 `[database]` 部分中將 `LOG_SQL``true`
要使 XORM 輸出 SQL 日誌,應在 `[database]` 部分中將 `LOG_SQL``true`
### “訪問”日誌記錄器
訪問日誌記錄器是 Gitea 1.9 以來的新日誌記錄器。它提供了符合 NCSA 通用日誌格式的日誌格式。它高度可配置,但更改其模板時應謹慎。此日誌記錄器的主要好處是 Gitea 現在可以以標準日誌格式記錄訪問,因此可以使用標準工具。
訪問日誌記錄器是 Gitea 1.9 以來的新日誌記錄器。它提供了符合 NCSA 通用日誌格式的日誌格式。它高度可設定,但更改其模板時應謹慎。此日誌記錄器的主要好處是 Gitea 現在可以以標準日誌格式記錄訪問,因此可以使用標準工具。
您可以使用 `logger.access.MODE = ...` 啟用此日誌記錄器。
如果需要,可以過更改 `ACCESS_LOG_TEMPLATE` 的值來更改訪問日誌記錄器的格式。
如果需要,可以過更改 `ACCESS_LOG_TEMPLATE` 的值來更改訪問日誌記錄器的格式。
請注意,訪問日誌記錄器將在 `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}}"`
@@ -225,7 +225,7 @@ v1.17.3 時的確切行為可以在 [這裡](https://github.com/go-gitea/gitea/b
模板傳遞以下選項:
- `Ctx``context.Context`
- `Identity``SignedUserName``"-"` 如果用戶未登
- `Identity``SignedUserName``"-"` 如果使用者未登
- `Start` 是請求的開始時間
- `ResponseWriter``http.ResponseWriter`
@@ -234,9 +234,9 @@ v1.17.3 時的確切行為可以在 [這裡](https://github.com/go-gitea/gitea/b
## 釋放和重新打開、暫停和恢復日誌記錄
如果您在 Unix 上運行,您可能希望釋放和重新打開日誌以使用 `logrotate` 或其他工具。
可以過向運行的進程發送 `SIGUSR1`,或運行 `gitea manager logging release-and-reopen` 強制 Gitea 釋放並重新打開其日誌文件和連接。
可以過向運行的進程發送 `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 運行時添加和刪除日誌記錄
@@ -247,17 +247,17 @@ v1.17.3 時的確切行為可以在 [這裡](https://github.com/go-gitea/gitea/b
## 使用 `logrotate` 而不是內置日誌輪換
Gitea 包含內置日誌輪換,這應該足以滿足大多數部署需求。但是,如果您希望使用 `logrotate` 實用程
Gitea 包含內置日誌輪換,這應該足以滿足大多數部署需求。但是,如果您希望使用 `logrotate` 實用程
- 通過在 `app.ini` 中將 `LOG_ROTATE``false` 禁用內置日誌輪換。
- 通過在 `app.ini` 中將 `LOG_ROTATE``false` 禁用內置日誌輪換。
- 安裝 `logrotate`
- 配置 `logrotate` 以匹配您的部署要求,請參閱 `man 8 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` 測試您的配置
確保您的設定適用於 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`
下一個 `logrotate` 任務將包括您的配置,因此不需要重新啟動。
下一個 `logrotate` 任務將包括您的設定,因此不需要重新啟動。
您也可以使用 `logrotate /etc/logrotate.conf --force` 立即重新加載 `logrotate`