func WithSubsecond(b bool) Option {
	return option.New(identSubSecond{}, b)
}
WithSubsecond specifies if we should use EventTime for timestamps
on fluentd messages. May be used on a per-client basis or per-call
to Post(). By default this feature is turned OFF.

Note that this option will only work for fluentd v0.14 or above.
package fluent
import (
	"context"
	"time"
	"github.com/lestrrat-go/option"
)
type Option = option.Interface
type identAddress struct{}
type identBuffered struct{}
type identBufferLimit struct{}
type identConnectOnStart struct{}
type identContext struct{}
type identDialTimeout struct{}
type identMarshaler struct{}
type identMaxConnAttempts struct{}
type identNetwork struct{}
type identPingInterval struct{}
type identPingResultChan struct{}
type identSubSecond struct{}
type identSyncAppend struct{}
type identTagPrefix struct{}
type identTimestamp struct{}
type identWriteQueueSize struct{}
type identWriteThreshold struct{}
func WithBuffered(b bool) Option {
	return option.New(identBuffered{}, b)
}
func WithNetwork(s string) Option {
	return option.New(identNetwork{}, s)
}
func WithAddress(s string) Option {
	return option.New(identAddress{}, s)
}
func WithTimestamp(t time.Time) Option {
	return option.New(identTimestamp{}, t)
}
func WithJSONMarshaler() Option {
	return option.New(identMarshaler{}, marshalFunc(jsonMarshal))
}
func WithMsgpackMarshaler() Option {
	return option.New(identMarshaler{}, marshalFunc(msgpackMarshal))
}
func WithTagPrefix(s string) Option {
	return option.New(identTagPrefix{}, s)
}
func WithSyncAppend(b bool) Option {
	return option.New(identSyncAppend{}, b)
}
func WithBufferLimit(v interface{}) Option {
	return option.New(identBufferLimit{}, v)
}
func WithWriteThreshold(i int) Option {
	return option.New(identWriteThreshold{}, i)
}