123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package Logger
- import (
- "github.com/larspensjo/config"
- "fmt"
- "git.swzry.com/NSMCServerLauncher/Utils"
- )
- var LoggerConf NSMCSL_LoggerConf
- type NSMCSL_LoggerConfigSingleFileSection struct {
- Filename string
- MaxSize int
- MaxAge int
- MaxBackups int
- LocalTime bool
- Compress bool
- }
- type NSMCSL_LoggerConf struct {
- logdir string
- debug_log bool
- time_format string
- syslogcfg NSMCSL_LoggerConfigSingleFileSection
- mcloutlogcfg NSMCSL_LoggerConfigSingleFileSection
- mclerrlogcfg NSMCSL_LoggerConfigSingleFileSection
- sshlogcfg NSMCSL_LoggerConfigSingleFileSection
- }
- func LoadLoggerConfig(loggerConfFile string) error {
- cf,err := config.ReadDefault(loggerConfFile)
- if (err != nil){
- fmt.Println("Failed Read Log Config File '",loggerConfFile,"' :", err.Error())
- return err
- }
- if r,err := cf.Bool("global","debug_log");err != nil{
- fmt.Println("Failed Parse Log Config File '",loggerConfFile,"' For 'global.debug_log':", err.Error())
- return err
- }else{
- LoggerConf.debug_log = r
- }
- if r,err := cf.String("global","log_dir");err != nil{
- fmt.Println("Failed Parse Log Config File '",loggerConfFile,"' For 'global.log_dir':", err.Error())
- return err
- }else{
- LoggerConf.logdir = Utils.StripSpaceAndQuote(r)
- }
- if r,err := cf.String("global","time_format");err != nil{
- fmt.Println("Failed Parse Log Config File '",loggerConfFile,"' For 'global.time_format':", err.Error())
- return err
- }else{
- LoggerConf.time_format = Utils.StripSpaceAndQuote(r)
- }
- if r,err := i_LoggerConfig_SingleLogParse(cf,"system");err != nil{
- fmt.Println(" (At Log Config File '",loggerConfFile,"')")
- return err
- }else{
- LoggerConf.syslogcfg = r
- }
- if r,err := i_LoggerConfig_SingleLogParse(cf,"mclauncher.stdout");err != nil{
- fmt.Println(" (At Log Config File '",loggerConfFile,"')")
- return err
- }else{
- LoggerConf.mcloutlogcfg = r
- }
- if r,err := i_LoggerConfig_SingleLogParse(cf,"mclauncher.stderr");err != nil{
- fmt.Println(" (At Log Config File '",loggerConfFile,"')")
- return err
- }else{
- LoggerConf.mclerrlogcfg = r
- }
- if r,err := i_LoggerConfig_SingleLogParse(cf,"ssh");err != nil{
- fmt.Println(" (At Log Config File '",loggerConfFile,"')")
- return err
- }else{
- LoggerConf.sshlogcfg = r
- }
- return nil
- }
- func i_LoggerConfig_SingleLogParse(cf *config.Config,secname string) (NSMCSL_LoggerConfigSingleFileSection,error){
- sfs := NSMCSL_LoggerConfigSingleFileSection{}
- if r,err := cf.String(secname,"Filename");err != nil{
- fmt.Println("Failed Parse Log Config File For '",secname,".Filename':", err.Error())
- return sfs,err
- }else{
- sfs.Filename = Utils.StripSpaceAndQuote(r)
- }
- if r,err := cf.Bool(secname,"Compress");err != nil{
- fmt.Println("Failed Parse Log Config File For '",secname,".Compress':", err.Error())
- return sfs,err
- }else{
- sfs.Compress = r
- }
- if r,err := cf.Bool(secname,"LocalTime");err != nil{
- fmt.Println("Failed Parse Log Config File For '",secname,".LocalTime':", err.Error())
- return sfs,err
- }else{
- sfs.LocalTime = r
- }
- if r,err := cf.Int(secname,"MaxAge");err != nil{
- fmt.Println("Failed Parse Log Config File For '",secname,".MaxAge':", err.Error())
- return sfs,err
- }else{
- sfs.MaxAge = r
- }
- if r,err := cf.Int(secname,"MaxSize");err != nil{
- fmt.Println("Failed Parse Log Config File For '",secname,".MaxSize':", err.Error())
- return sfs,err
- }else{
- sfs.MaxSize = r
- }
- if r,err := cf.Int(secname,"MaxBackups");err != nil{
- fmt.Println("Failed Parse Log Config File For '",secname,".MaxBackups':", err.Error())
- return sfs,err
- }else{
- sfs.MaxBackups = r
- }
- return sfs,nil
- }
|