generateLogConfig creates a LogConfig for the current container store
(dataStore string, id string, logDriver string, logOpt []string, ns, address string)
| 1046 | |
| 1047 | // generateLogConfig creates a LogConfig for the current container store |
| 1048 | func generateLogConfig(dataStore string, id string, logDriver string, logOpt []string, ns, address string) (logConfig logging.LogConfig, err error) { |
| 1049 | var u *url.URL |
| 1050 | if u, err = url.Parse(logDriver); err == nil && (u.Scheme != "" || logDriver == "none") { |
| 1051 | logConfig.LogURI = logDriver |
| 1052 | } else { |
| 1053 | logConfig.Driver = logDriver |
| 1054 | logConfig.Address = address |
| 1055 | logConfig.Opts, err = parseKVStringsMapFromLogOpt(logOpt, logDriver) |
| 1056 | if err != nil { |
| 1057 | return logConfig, err |
| 1058 | } |
| 1059 | var ( |
| 1060 | logDriverInst logging.Driver |
| 1061 | logConfigB []byte |
| 1062 | lu *url.URL |
| 1063 | ) |
| 1064 | logDriverInst, err = logging.GetDriver(logDriver, logConfig.Opts, logConfig.Address) |
| 1065 | if err != nil { |
| 1066 | return logConfig, err |
| 1067 | } |
| 1068 | if err = logDriverInst.Init(dataStore, ns, id); err != nil { |
| 1069 | return logConfig, err |
| 1070 | } |
| 1071 | |
| 1072 | logConfigB, err = json.Marshal(logConfig) |
| 1073 | if err != nil { |
| 1074 | return logConfig, err |
| 1075 | } |
| 1076 | |
| 1077 | logConfigFilePath := logging.LogConfigFilePath(dataStore, ns, id) |
| 1078 | if err = filesystem.WriteFile(logConfigFilePath, logConfigB, 0600); err != nil { |
| 1079 | return logConfig, err |
| 1080 | } |
| 1081 | |
| 1082 | lu, err = GenerateLogURI(dataStore) |
| 1083 | if err != nil { |
| 1084 | return logConfig, err |
| 1085 | } |
| 1086 | if lu != nil { |
| 1087 | log.L.Debugf("generated log driver: %s", lu.String()) |
| 1088 | logConfig.LogURI = lu.String() |
| 1089 | } |
| 1090 | } |
| 1091 | return logConfig, nil |
| 1092 | } |
| 1093 | |
| 1094 | func generateRemoveStateDirFunc(ctx context.Context, id string, internalLabels internalLabels) func() { |
| 1095 | return func() { |
no test coverage detected