在Windows中使用go-file-rotatelogs。

huangapple go评论90阅读模式
英文:

Use go-file-rotatelogs in windows

问题

当我在Windows中使用go-file-rotatelogs时,我遇到了以下错误:

无法进行旋转:
无法创建新的符号链接:symlink
system.log.20210723.log
system.log.20210723.log_symlink:
客户端没有所需的特权。

在Windows中无法使用go-file-rotatelogs吗?

英文:

When I use go-file-rotatelogs in Windows, I get the error

failed to rotate: 
failed to create new symlink: symlink 
system.log.20210723.log 
system.log.20210723.log_symlink: 
A required privilege is not held by the client .

Is it impossible to use go-file-rotatelogs in Windows?

答案1

得分: 0

自 Windows 10 Insiders build 14972(Windows 10 创作者更新 ~ 1703)以来,应该是可能的。

也就是说:您应该能够在没有管理员权限的情况下创建符号链接。

或者,为了测试,您可以在以管理员身份运行的 CMD 中测试您的程序。

但问题仍然存在:这可能与 Go 在 Windows 上实现符号链接所需的权限提升有关。

请参阅“golang/go issue 22874: os: Symlink creation should work on Windows without elevation”。

在 Go 1.11 中已修复,使用了 commit c23afa9

但是,如果您的 Windows 10 版本太旧,或者您当前的 Go 版本早于 1.11,您将会收到该错误。

英文:

It should be possible since Windows 10 Insiders build 14972 (windows 10 creators update ~ 1703)

Namely: you should be able to create symlink without administrator privilege.

Or, for testing, you could test your program from a CMD run as Administrator.

But the issue remains: this is likely linked to a privilege escalation required by the way Go implements symlink on Windows.

See "golang/go issue 22874: os: Symlink creation should work on Windows without elevation".

It is fixed in Go 1.11 with commit c23afa9.

But if your Windows 10 is too old, or your current Go version is older than 1.11, you would get that error.

huangapple
  • 本文由 发表于 2021年7月23日 12:53:10
  • 转载请务必保留本文链接:https://go.coder-hub.com/68494207.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定