@@ -49,12 +49,12 @@ const (
4949
5050type Driver interface {
5151 Init (dataStore , ns , id string ) error
52- PreProcess (dataStore string , config * logging.Config ) error
52+ PreProcess (ctx context. Context , dataStore string , config * logging.Config ) error
5353 Process (stdout <- chan string , stderr <- chan string ) error
5454 PostProcess () error
5555}
5656
57- type DriverFactory func (map [string ]string ) (Driver , error )
57+ type DriverFactory func (map [string ]string , string ) (Driver , error )
5858type LogOptsValidateFunc func (logOptMap map [string ]string ) error
5959
6060var drivers = make (map [string ]DriverFactory )
@@ -81,28 +81,28 @@ func Drivers() []string {
8181 return ss
8282}
8383
84- func GetDriver (name string , opts map [string ]string ) (Driver , error ) {
84+ func GetDriver (name string , opts map [string ]string , address string ) (Driver , error ) {
8585 driverFactory , ok := drivers [name ]
8686 if ! ok {
8787 return nil , fmt .Errorf ("unknown logging driver %q: %w" , name , errdefs .ErrNotFound )
8888 }
89- return driverFactory (opts )
89+ return driverFactory (opts , address )
9090}
9191
9292func init () {
93- RegisterDriver ("none" , func (opts map [string ]string ) (Driver , error ) {
93+ RegisterDriver ("none" , func (opts map [string ]string , address string ) (Driver , error ) {
9494 return & NoneLogger {}, nil
9595 }, NoneLogOptsValidate )
96- RegisterDriver ("json-file" , func (opts map [string ]string ) (Driver , error ) {
96+ RegisterDriver ("json-file" , func (opts map [string ]string , address string ) (Driver , error ) {
9797 return & JSONLogger {Opts : opts }, nil
9898 }, JSONFileLogOptsValidate )
99- RegisterDriver ("journald" , func (opts map [string ]string ) (Driver , error ) {
100- return & JournaldLogger {Opts : opts }, nil
99+ RegisterDriver ("journald" , func (opts map [string ]string , address string ) (Driver , error ) {
100+ return & JournaldLogger {Opts : opts , Address : address }, nil
101101 }, JournalLogOptsValidate )
102- RegisterDriver ("fluentd" , func (opts map [string ]string ) (Driver , error ) {
102+ RegisterDriver ("fluentd" , func (opts map [string ]string , address string ) (Driver , error ) {
103103 return & FluentdLogger {Opts : opts }, nil
104104 }, FluentdLogOptsValidate )
105- RegisterDriver ("syslog" , func (opts map [string ]string ) (Driver , error ) {
105+ RegisterDriver ("syslog" , func (opts map [string ]string , address string ) (Driver , error ) {
106106 return & SyslogLogger {Opts : opts }, nil
107107 }, SyslogOptsValidate )
108108}
@@ -121,9 +121,10 @@ func Main(argv2 string) error {
121121
122122// LogConfig is marshalled as "log-config.json"
123123type LogConfig struct {
124- Driver string `json:"driver"`
125- Opts map [string ]string `json:"opts,omitempty"`
126- LogURI string `json:"-"`
124+ Driver string `json:"driver"`
125+ Opts map [string ]string `json:"opts,omitempty"`
126+ LogURI string `json:"-"`
127+ Address string `json:"address"`
127128}
128129
129130// LogConfigFilePath returns the path of log-config.json
@@ -149,7 +150,7 @@ func LoadLogConfig(dataStore, ns, id string) (LogConfig, error) {
149150}
150151
151152func loggingProcessAdapter (ctx context.Context , driver Driver , dataStore string , config * logging.Config ) error {
152- if err := driver .PreProcess (dataStore , config ); err != nil {
153+ if err := driver .PreProcess (ctx , dataStore , config ); err != nil {
153154 return err
154155 }
155156
@@ -215,7 +216,7 @@ func loggerFunc(dataStore string) (logging.LoggerFunc, error) {
215216 if err != nil {
216217 return err
217218 }
218- driver , err := GetDriver (logConfig .Driver , logConfig .Opts )
219+ driver , err := GetDriver (logConfig .Driver , logConfig .Opts , logConfig . Address )
219220 if err != nil {
220221 return err
221222 }
0 commit comments