更改 gitolite 日志默认位置

3

我在CentOS的Linux系统中使用gitolite 3.6.3版本。

我需要更改gitolite日志的默认位置。

~/.gitolite/logs/gitolite-%y-%m.log

将其放置到自定义位置,例如

/home/my_account/Desktop/gitolite-logs/gitolite-%y-%m.log

我尝试通过编辑.gitolite.rc文件来实现此目标。
LOG_DEST                      => '/home/my_account/Desktop/gitolite-logs/gitolite-%y-%m.log',

但是我没有运气。 我是否遗漏了什么?

2个回答

2
您可以在src/lib/Gitolite/Rc.pm中看到各种LOG_DEST的值。
实际文件派生自$ENV{GL_LOGFILE}:见src/lib/Gitolite/Common.pm,默认为~/.gitolite/logs/gitolite-%y-%m.log,由gen_lfn计算得出,详见此处
所以将LOG_DEST留给例如'normal',并将环境变量GL_LOGFILE设置为您想要的路径(它代表一个“logdir”)。 OP Angelo在评论中报告需要添加到.bashrc的内容。
export GL_LOGFILE=/home/my_account/Desktop/gitolite-logs/gitolite.log

如果您需要添加一些时间戳:
export GL_LOGFILE='/home/my_account/Desktop/gitolite-logs/gitolite-'$(date +%Y-%m-%d)'.log'

但是我应该在哪里设置GL_LOGFILE,是在.gitolite.rc、Rc.pm还是Common.pm中? - Angelo
@Angelo 不是的,它是一个环境变量(http://gitolite.com/gitolite/dev-notes.html#environment-variables-and-other-inputs)。你应该在运行 gitolite 的账户的 .profile 或 .bashrc 中设置它。 - VonC
我从gitolite账户编辑了我的.bashrc文件,设置变量为GL_LOGFILE="/home/my_account/Desktop/gitolite-logs/gitolite-%y-%m-%d.log",但是它没有起作用。 - Angelo
@Angelo 你需要导出它。在你的.bashrc中添加export GL_LOGFILE="/home/my_account/Desktop/gitolite-logs",然后来源于你的.bashrc. .bashrc。请注意,我在该变量中放置了一个文件夹,而不是像gitolite-%y-%m-%d.log这样的文件名称。正如我在答案中提到的那样,GL_LOGFILE是一个" logdir ",即"你可以找到日志的文件夹"。 - VonC
感谢您的帮助,我非常感激。顺便说一下,根据错误消息,您需要为日志指定一个文件,而不仅仅是目录。但占位符(%y-%m-%d)无法正常工作。 - Angelo
显示剩余2条评论

1
GL_LOGFILE是一个环境变量,需要输入完整的文件名,而不是目录名(据我所记)。
它不会被任何方式解释 - 在你进行任何替换后,你可以在其中放置任何你想要的内容。
如果您想要解释 %y-%m 等内容,请创建一个名为LOG_TEMPLATE的rc变量。默认值为"$ENV{HOME}/.gitolite/logs/gitolite-%y-%m.log"。你也可以添加 %d 但不会解释其他任何内容。(例如:小时/分钟等)
(...现在我看这段代码时发现有一些死代码!真糟糕!)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接