MCPcopy Index your code
hub / github.com/containerd/nerdctl / generateLogConfig

Function generateLogConfig

pkg/cmd/container/create.go:1048–1092  ·  view source on GitHub ↗

generateLogConfig creates a LogConfig for the current container store

(dataStore string, id string, logDriver string, logOpt []string, ns, address string)

Source from the content-addressed store, hash-verified

1046
1047// generateLogConfig creates a LogConfig for the current container store
1048func 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
1094func generateRemoveStateDirFunc(ctx context.Context, id string, internalLabels internalLabels) func() {
1095 return func() {

Callers 1

CreateFunction · 0.85

Calls 9

GetDriverFunction · 0.92
LogConfigFilePathFunction · 0.92
WriteFileFunction · 0.92
GenerateLogURIFunction · 0.85
MarshalMethod · 0.80
ParseMethod · 0.65
InitMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected