Documentation
¶
Overview ¶
Package testsupport 提供跨集成测试包复用的日志测试夹具。
Index ¶
- Constants
- Variables
- func AppendJSONEvent(buf *bytes.Buffer, when time.Time, level slog.Level, logger string, ...)
- func AssertCompleteJSONContentMessages(t *testing.T, content string, want ...string) []map[string]any
- func AssertCompleteJSONMessages(t *testing.T, path string, want ...string)
- func CallerPC(skip int) uintptr
- func CloseAppenderList(appenders []Appender) error
- func FixedTestTime() time.Time
- func IsAsyncAppender(appender Appender) bool
- func LevelPointer(level slog.Level) *slog.Level
- func MarkerPointer(marker log.Marker) *log.Marker
- func ReadGzipFile(t *testing.T, path string) string
- func ReadTextFile(t *testing.T, path string) string
- func WriteConfig(t *testing.T, path string, content string)
- type Appender
- type AppenderBuildConfig
- type AppenderRef
- type AsyncAppender
- type AsyncErrorHandlerFunc
- type AsyncLoggerOptions
- type AsyncWaitOptions
- type CSVLayout
- type ConfigLoadOption
- type ConfigResult
- type ConfigSource
- type ConstantJSONResolver
- type Event
- type FailingAppender
- type FileAppender
- type FileConfig
- type Filter
- type FilterBuildConfig
- type FilterDecision
- type FilterFunc
- type FilteredAppender
- type GELFLayout
- type HTMLLayout
- type JSONLayout
- type JSONTemplateResolver
- type JSONTemplateResolverBuildConfig
- type Layout
- type LayoutBuildConfig
- type LayoutConfig
- type LayoutOptions
- type LoggerConfiguration
- type LoggerRule
- type Marker
- type Message
- type MessageFactoryFunc
- type Options
- type PatternLayout
- type PluginRegistrarFunc
- type PluginRegistry
- type PropertyMap
- type RFC5424Layout
- type RecordingAppender
- func (a *RecordingAppender) Append(ctx context.Context, event Event) error
- func (a *RecordingAppender) Close() error
- func (a *RecordingAppender) CloseCount() int
- func (a *RecordingAppender) Contains(message string) bool
- func (a *RecordingAppender) Events() []Event
- func (a *RecordingAppender) Name() string
- type RollingDeleteAction
- type RollingFileAppender
- type RollingFileIndexMode
- type RollingFileOption
- type RootLogger
- type ScriptEvaluatorFunc
- type TextLayout
- type Throwable
- type XMLLayout
- type YAMLLayout
Constants ¶
View Source
const ( EnvConfigPath = log.EnvConfigPath ConfigSourceExplicit = log.ConfigSourceExplicit ConfigSourceEnv = log.ConfigSourceEnv ConfigSourceBoot = log.ConfigSourceBoot ConfigSourceFile = log.ConfigSourceFile ConfigSourceDefault = log.ConfigSourceDefault LevelAll = log.LevelAll LevelTrace = log.LevelTrace LevelFatal = log.LevelFatal LevelOff = log.LevelOff FilterNeutral = log.FilterNeutral FilterAccept = log.FilterAccept FilterDeny = log.FilterDeny MapFilterAnd = log.MapFilterAnd MapFilterOr = log.MapFilterOr AsyncOverflowBlock = log.AsyncOverflowBlock AsyncOverflowDrop = log.AsyncOverflowDrop AsyncOverflowDropDebug = log.AsyncOverflowDropDebug AsyncOverflowSyncFallback = log.AsyncOverflowSyncFallback AsyncWaitBlock = log.AsyncWaitBlock AsyncWaitSleep = log.AsyncWaitSleep AsyncWaitYield = log.AsyncWaitYield AsyncWaitSpin = log.AsyncWaitSpin RollingFileIndexNoMax = log.RollingFileIndexNoMax RollingFileIndexMax = log.RollingFileIndexMax RollingFileIndexMin = log.RollingFileIndexMin StructuredDataIDAttrKey = log.StructuredDataIDAttrKey StructuredDataTypeAttrKey = log.StructuredDataTypeAttrKey DefaultThreadName = internallogevent.DefaultThreadName )
Variables ¶
View Source
var ( ConfigureDefault = log.ConfigureDefault ContextAttrs = log.ContextAttrs DefaultOptions = log.DefaultOptions DefaultPluginRegistry = log.DefaultPluginRegistry LevelName = log.LevelName LoadOptions = log.LoadOptions NewAppenderRef = log.NewAppenderRef NewAsyncAppender = log.NewAsyncAppender NewAttrFilter = log.NewAttrFilter NewBurstFilter = log.NewBurstFilter NewConsoleAppender = log.NewConsoleAppender NewConfigReloader = log.NewConfigReloader NewConfiguredLoggerContext = log.NewConfiguredLoggerContext NewDynamicThresholdFilter = log.NewDynamicThresholdFilter NewFileAppender = log.NewFileAppender NewFilteredAppender = log.NewFilteredAppender NewHandler = log.NewHandler NewJSONAppender = log.NewJSONAppender NewJSONFileAppender = log.NewJSONFileAppender NewJSONLayout = log.NewJSONLayout NewJSONTemplateLayout = log.NewJSONTemplateLayout NewJSONTemplateLayoutFromFile = log.NewJSONTemplateLayoutFromFile NewLevelRegistry = log.NewLevelRegistry NewLogger = log.NewLogger NewLoggerContext = log.NewLoggerContext NewLookupResolver = log.NewLookupResolver NewMapFilter = log.NewMapFilter NewMapMessage = log.NewMapMessage NewMarker = log.NewMarker NewMarkerFilter = log.NewMarkerFilter NewNativeLogger = log.NewNativeLogger NewNoMarkerFilter = log.NewNoMarkerFilter NewParameterizedMessage = log.NewParameterizedMessage NewPatternLayout = log.NewPatternLayout NewPatternLayoutWithOptions = log.NewPatternLayoutWithOptions NewPluginRegistry = log.NewPluginRegistry NewPluginSet = log.NewPluginSet NewRegexFilter = log.NewRegexFilter NewRollingFileAppender = log.NewRollingFileAppender NewScriptFilter = log.NewScriptFilter NewSimpleMessage = log.NewSimpleMessage NewStatusLogger = log.NewStatusLogger NewStringMatchFilter = log.NewStringMatchFilter NewStructuredDataFilter = log.NewStructuredDataFilter NewStructuredDataMessage = log.NewStructuredDataMessage NewThreadContextStackFilter = log.NewThreadContextStackFilter NewThresholdFilter = log.NewThresholdFilter NewThrowable = log.NewThrowable NewThrowableFilter = log.NewThrowableFilter NewThrowableWithStack = log.NewThrowableWithStack NewTimeFilter = log.NewTimeFilter NewTimeFilterInLocation = log.NewTimeFilterInLocation ThrowableAttr = log.ThrowableAttr NewConfigured = log.NewConfigured NewConfiguredHandler = log.NewConfiguredHandler ParseByteSize = log.ParseByteSize ParseLevel = log.ParseLevel ParseMonitorInterval = log.ParseMonitorInterval ParseRollingInterval = log.ParseRollingInterval RegisterLayout = log.RegisterLayout RegisterLevel = log.RegisterLevel WithAppenderRefFilters = log.WithAppenderRefFilters WithAppenderRefLevel = log.WithAppenderRefLevel WithAppenderRefLocation = log.WithAppenderRefLocation WithAsyncBatchSize = log.WithAsyncBatchSize WithAsyncCloseAppenders = log.WithAsyncCloseAppenders WithAsyncErrorHandler = log.WithAsyncErrorHandler WithAsyncOverflowStrategy = log.WithAsyncOverflowStrategy WithAsyncQueueSize = log.WithAsyncQueueSize WithAsyncWaitOptions = log.WithAsyncWaitOptions WithAsyncWaitStrategy = log.WithAsyncWaitStrategy WithBootPropertyResolver = log.WithBootPropertyResolver WithConfigEnvKey = log.WithConfigEnvKey WithConfigLookups = log.WithConfigLookups WithConfigPath = log.WithConfigPath WithConfigData = log.WithConfigData WithConfigWorkingDir = log.WithConfigWorkingDir WithConsoleLayout = log.WithConsoleLayout WithConsoleName = log.WithConsoleName WithConsoleWriter = log.WithConsoleWriter WithFileBufferSize = log.WithFileBufferSize WithFileCreateOnDemand = log.WithFileCreateOnDemand WithFileFlushOnWrite = log.WithFileFlushOnWrite WithFileLayout = log.WithFileLayout WithFilterOnMatch = log.WithFilterOnMatch WithFilterOnMismatch = log.WithFilterOnMismatch WithJSONAppenderBufferSize = log.WithJSONAppenderBufferSize WithJSONAppenderName = log.WithJSONAppenderName WithJSONAppenderWriter = log.WithJSONAppenderWriter WithJSONTemplateLayoutOptions = log.WithJSONTemplateLayoutOptions WithJSONTemplateResolverRegistry = log.WithJSONTemplateResolverRegistry WithLoggerCaller = log.WithLoggerCaller WithLoggerContextStatus = log.WithLoggerContextStatus WithLoggerMessageFactory = log.WithLoggerMessageFactory WithMapFilterOnMatch = log.WithMapFilterOnMatch WithMapFilterOnMismatch = log.WithMapFilterOnMismatch WithMapFilterOperator = log.WithMapFilterOperator WithPluginAppender = log.WithPluginAppender WithPluginJSONTemplateResolver = log.WithPluginJSONTemplateResolver WithPluginLayout = log.WithPluginLayout WithPluginLookup = log.WithPluginLookup WithPluginRegistry = log.WithPluginRegistry WithRegexOnMatch = log.WithRegexOnMatch WithRegexOnMismatch = log.WithRegexOnMismatch WithRolloverOnStartup = log.WithRolloverOnStartup WithRollingActionQueueSize = log.WithRollingActionQueueSize WithRollingAsyncActions = log.WithRollingAsyncActions WithRollingCronSchedule = log.WithRollingCronSchedule WithRollingDeleteActions = log.WithRollingDeleteActions WithRollingDirectWrite = log.WithRollingDirectWrite WithRollingFileAppend = log.WithRollingFileAppend WithRollingFileBufferSize = log.WithRollingFileBufferSize WithRollingFileCreateOnDemand = log.WithRollingFileCreateOnDemand WithRollingFileIndexMode = log.WithRollingFileIndexMode WithRollingFileLayout = log.WithRollingFileLayout WithRollingFilePattern = log.WithRollingFilePattern WithRollingGzip = log.WithRollingGzip WithRollingInterval = log.WithRollingInterval WithRollingMaxBackups = log.WithRollingMaxBackups WithRollingMaxSize = log.WithRollingMaxSize WithRollingTotalSizeCap = log.WithRollingTotalSizeCap WithRollingCleanHistoryOnStart = log.WithRollingCleanHistoryOnStart WithRoutingAttrKey = log.WithRoutingAttrKey WithRoutingDefault = log.WithRoutingDefault WithRoutingKeyFunc = log.WithRoutingKeyFunc WithScriptFilterOnMatch = log.WithScriptFilterOnMatch WithScriptFilterOnMismatch = log.WithScriptFilterOnMismatch WithStatusBufferSize = log.WithStatusBufferSize WithStatusLevel = log.WithStatusLevel WithStatusWriter = log.WithStatusWriter WithContextAttrs = log.WithContextAttrs WithContextStack = log.WithContextStack WithMarker = log.WithMarker WithPluginFilter = log.WithPluginFilter WithThreadName = log.WithThreadName NewFailoverAppender = log.NewFailoverAppender NewRoutingAppender = log.NewRoutingAppender NewRewriteAppender = log.NewRewriteAppender )
Functions ¶
func AppendJSONEvent ¶
func AssertCompleteJSONContentMessages ¶
func AssertCompleteJSONContentMessages( t *testing.T, content string, want ...string, ) []map[string]any
AssertCompleteJSONContentMessages 校验 JSON 内容并返回解码结果。
func AssertCompleteJSONMessages ¶
AssertCompleteJSONMessages 校验完整 JSON 日志中的消息顺序。
func CloseAppenderList ¶
func IsAsyncAppender ¶
Types ¶
type AppenderBuildConfig ¶
type AppenderBuildConfig = log.AppenderBuildConfig
type AppenderRef ¶
type AppenderRef = log.AppenderRef
type AsyncAppender ¶
type AsyncAppender = log.AsyncAppender
type AsyncErrorHandlerFunc ¶
type AsyncErrorHandlerFunc = log.AsyncErrorHandlerFunc
type AsyncLoggerOptions ¶
type AsyncLoggerOptions = log.AsyncLoggerOptions
type AsyncWaitOptions ¶
type AsyncWaitOptions = log.AsyncWaitOptions
type ConfigLoadOption ¶
type ConfigLoadOption = log.ConfigLoadOption
type ConfigResult ¶
type ConfigResult = log.ConfigResult
type ConfigSource ¶
type ConfigSource = log.ConfigSource
type ConstantJSONResolver ¶
type ConstantJSONResolver string
ConstantJSONResolver 输出固定 JSON 字符串。
func (ConstantJSONResolver) AppendJSON ¶
func (r ConstantJSONResolver) AppendJSON(buf *bytes.Buffer, _ Event)
AppendJSON 写入固定值。
type FailingAppender ¶
type FailingAppender struct {
// contains filtered or unexported fields
}
FailingAppender 始终返回失败,用于验证降级路径。
func NewFailingAppender ¶
func NewFailingAppender(name string) FailingAppender
NewFailingAppender 创建失败型测试 Appender。
type FileAppender ¶
type FileAppender = log.FileAppender
type FileConfig ¶
type FileConfig struct {
*configfile.Config
}
func DecodePropertiesConfig ¶
func DecodePropertiesConfig(reader io.Reader, lookups *log.LookupResolver) (*FileConfig, error)
func DecodeStructuredConfig ¶
func DecodeStructuredConfig(reader io.Reader, lookups *log.LookupResolver) (*FileConfig, error)
func DecodeXMLConfig ¶
func DecodeXMLConfig(reader io.Reader, lookups *log.LookupResolver) (*FileConfig, error)
func (*FileConfig) BuildFilters ¶
func (c *FileConfig) BuildFilters(registry *PluginRegistry) (map[string]Filter, error)
type FilterBuildConfig ¶
type FilterBuildConfig = log.FilterBuildConfig
type FilterDecision ¶
type FilterDecision = log.FilterDecision
type FilterFunc ¶
type FilterFunc = log.FilterFunc
type FilteredAppender ¶
type FilteredAppender = log.FilteredAppender
type GELFLayout ¶
type GELFLayout = log.GELFLayout
type HTMLLayout ¶
type HTMLLayout = log.HTMLLayout
type JSONLayout ¶
type JSONLayout = log.JSONLayout
type JSONTemplateResolver ¶
type JSONTemplateResolver = log.JSONTemplateResolver
type JSONTemplateResolverBuildConfig ¶
type JSONTemplateResolverBuildConfig = log.JSONTemplateResolverBuildConfig
type Layout ¶
func BuildLayout ¶
func BuildLayout(config LayoutConfig, registry *PluginRegistry) (Layout, error)
type LayoutBuildConfig ¶
type LayoutBuildConfig = log.LayoutBuildConfig
type LayoutConfig ¶
type LayoutConfig = configfile.LayoutConfig
type LayoutOptions ¶
type LayoutOptions = log.LayoutOptions
type LoggerConfiguration ¶
type LoggerConfiguration = log.LoggerConfiguration
type LoggerRule ¶
type LoggerRule = log.LoggerRule
type MessageFactoryFunc ¶
type MessageFactoryFunc = log.MessageFactoryFunc
type PatternLayout ¶
type PatternLayout = log.PatternLayout
type PluginRegistrarFunc ¶
type PluginRegistrarFunc = log.PluginRegistrarFunc
type PluginRegistry ¶
type PluginRegistry = log.PluginRegistry
type PropertyMap ¶
type PropertyMap = log.PropertyMap
type RFC5424Layout ¶
type RFC5424Layout = log.RFC5424Layout
type RecordingAppender ¶
type RecordingAppender struct {
// contains filtered or unexported fields
}
RecordingAppender 以并发安全方式记录测试事件。
func NewRecordingAppender ¶
func NewRecordingAppender(name string) *RecordingAppender
NewRecordingAppender 创建记录型测试 Appender。
func (*RecordingAppender) Append ¶
func (a *RecordingAppender) Append(ctx context.Context, event Event) error
Append 记录一条事件。
func (*RecordingAppender) CloseCount ¶
func (a *RecordingAppender) CloseCount() int
CloseCount 返回关闭次数。
func (*RecordingAppender) Contains ¶
func (a *RecordingAppender) Contains(message string) bool
Contains 判断是否记录了指定消息。
type RollingDeleteAction ¶
type RollingDeleteAction = log.RollingDeleteAction
type RollingFileAppender ¶
type RollingFileAppender = log.RollingFileAppender
type RollingFileIndexMode ¶
type RollingFileIndexMode = log.RollingFileIndexMode
type RollingFileOption ¶
type RollingFileOption = log.RollingFileOption
func WithRollingClock ¶
func WithRollingClock(clock func() time.Time) RollingFileOption
type RootLogger ¶
type RootLogger = log.RootLogger
type ScriptEvaluatorFunc ¶
type ScriptEvaluatorFunc = log.ScriptEvaluatorFunc
type TextLayout ¶
type TextLayout = log.TextLayout
type YAMLLayout ¶
type YAMLLayout = log.YAMLLayout
Click to show internal directories.
Click to hide internal directories.