我有代码
if config.Process.TraceLog != "" {
f, err := os.OpenFile(config.Process.TraceLog, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
fmt.Println("error opening log file: %v", err)
os.Exit(1)
}
Trace.SetOutput(f)
}
if config.Process.InfoLog != "" {
f, err := os.OpenFile(config.Process.InfoLog, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
fmt.Println("error opening log file: %v", err)
os.Exit(1)
}
Info.SetOutput(f)
}
if config.Process.WarningLog != "" {
f, err := os.OpenFile(config.Process.WarningLog, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
fmt.Println("error opening log file: %v", err)
os.Exit(1)
}
Warning.SetOutput(f)
}
if config.Process.ErrorLog != "" {
f, err := os.OpenFile(config.Process.ErrorLog, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
fmt.Println("error opening log file: %v", err)
os.Exit(1)
}
Error.SetOutput(f)
}
缩短它的好方法是什么?我不想重复相同的非常相似的块 4 次。
如何使它成为一个循环?我尝试使用文件名和记录器对象创建地图,但不知道如何正确发布参考
翻阅古今
jeck猫
相关分类