All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sshtools.slf4jtty.TtyConfiguration.schema.ini Maven / Gradle / Ivy

Go to download

An SLF4J log provider that directly implements the SLF4J API and provides logging output suitable for console output (i.e. not to a file). The width of the output is restricted to the terminal width, with the possibility to split the width into multiple sections, each which may be a fixed width, or 'auto' which divides all remaining space amongst other automative sections. Any log attribute fields may then be placed in any of the sections with a particular alignment. Text will not overflow out of its section. Sections may be colour or styled with other text attributes, including hyperlinks for supported termins. Emoticons and other graphical sequences may be used in place of log levels. Configuration is achieved via 'ini' type files, which are reload automatically when changed.

The newest version!
;
; Log
;

[log]
	name = Log
	description = General configuration of log
	
	[log.enabled]
		name = Enabled
		description  = Whether the log is enabled at all
		type = BOOLEAN
		default-value = TRUE
	
	[log.default-level]
		name = Default Level
		description = The default log level.
		type = ENUM
		value = ERROR, WARN, INFO, DEBUG, TRACE
		default-value = INFO
	
	[log.output]
		name = Output
		description = Where to output the formatted logs.
		type = ENUM
		value = SYS_OUT, CACHED_SYS_OUT, SYS_ERR, CACHED_SYS_ERR, FILE
		default-value = SYS_ERR
	
	[log.log-file]
		name = File
		type = TEXT
		description = When outputting to FILE, where that file is located.

;
; Output
;

[output]
	name = Output
	description = Configuration of general output style
	
	[output.style-as-level]
		name = Style Row
		description = When TRUE, entire row will be styled according to the level.
		type = BOOLEAN
		default-value = TRUE
	
	[output.gap]
		name = Gap
		description = The number of space characters between each field.
		type = NUMBER
		default-value = 1
		
	[output.ellipsis]
		name = Ellipsis
		description = A character sequence to use at the end of a field, when its width \
			          exceeds the available space. Enough characters will be stripped \
			          from the end of the string to make space for the ellipses sequence. 
		type = TEXT
		default-value = …
	
	[output.width]
		name = Row Width
		description = When 0, current terminal width will be used, otherwise width will be fixed.
		type = NUMBER
		default-value = 0
	
	[output.fallback-width]
		name = Fallback Width
		description = When the terminal width cannot be determined, what wide should be used?
		type = NUMBER
		min-value = 1
		default-value = 132
	
	[output.parameter-style]
		name = Paramter Style
		description = Parameterized log messages may have their parameters styled differently \
					  to the mesage body.
		type = TEXT
		default-value = "@{bold ${parameter}}"
		;TODO BROKEN!
		;default-value = ${parameter}
	
	[output.layout]
		name = Row Layout
		description = Describes which log fields will be output, and the order they \
					  will be output in. 
		type = TEXT
		default-value = level, short-name, message, thread-name, date-time 
	
	[output.format]
		name = Format
		description  = The format of the output.
		type = ENUM
		value = AUTO, ANSI, PLAIN, JSON
		default-value = AUTO
		
;
; Fields
; 
[fields]
	name = Fields
	description = Configuration of each output field
	
	[fields.date-time]
		name = Date Time
		description = The date-time the log event occurred.
		
		[fields.date-time.alignment]
			name = Alignment
			description = Alignment of the date-time within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = RIGHT
		
		[fields.date-time.type]
			name = Type
			description = Whether to show the TIME, DATE, or DATE_TIME. Ignored if `format` is \
						  a custom formatting string.
			type = ENUM
			value = TIME, DATE, DATE_TIME
			default-value = DATE_TIME
		
		[fields.date-time.format]
			name = Format
			description = The formatting string for the date. May either be one of TIMESTAMP, SHORT, MEDIUM, LONG or FULL, or alternatively a full \
						  date formatting string. See https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
			type = TEXT
			value = TIMESTAMP, SHORT, MEDIUM, LONG, FULL
			default-value = TIMESTAMP
		
		[fields.date-time.width]
			name = Width
			description = The width of the date-time field. Use zero to take all available space.
			type = TEXT
			default-value = 23
		
		[fields.date-time.style]
			name = Style
			description = The style expression to use for the date-time field. 
			type = TEXT
			default-value = @{faint ${date-time}}
		
		[fields.date-time.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = ${date-time}
	
	[fields.level]
		name = Level
		description = The priority level of the log level.
		
		[fields.level.alignment]
			name = Alignment
			description = Alignment of the log level within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = LEFT
		
		[fields.level.width]
			name = Width
			description = The width of the level field. Use zero to take all available space. 
			type = TEXT
			default-value = 10
		
		[fields.level.style]
			name = Style
			description = The style expression to use for level field. 
			type = TEXT
			default-value = ${level}
		
		[fields.level.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = [${level}]
	
	[fields.thread-id]
		name = Thread ID
		description = The ID of the thread where the message occurred.
		
		[fields.thread-id.alignment]
			name = Alignment
			description = Alignment of the thread ID within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = LEFT
		
		[fields.thread-id.width]
			name = Width
			description = The width of the thread ID field. Use zero to take all available space. 
			type = TEXT
			default-value = 10
		
		[fields.thread-id.style]
			name = Style
			description = The style expression to use for thread ID field. 
			type = TEXT
			default-value = ${thread-id}
		
		[fields.thread-id.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = (${thread-id})
	
	[fields.thread-name]
		name = Thread Name
		description = The name of the thread where the message occurred.
		
		[fields.thread-name.alignment]
			name = Alignment
			description = Alignment of the thread name within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = RIGHT
		
		[fields.thread-name.width]
			name = Width
			description = The width of the thread name field. Use zero to take all available space. 
			type = TEXT
			default-value = 15
		
		[fields.thread-name.style]
			name = Style
			description = The style expression to use for thread name field. 
			type = TEXT
			default-value = ${thread-name}
		
		[fields.thread-name.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = (${thread-name})
	
	[fields.message]
		name = Message
		description = The log message.
		
		[fields.message.alignment]
			name = Alignment
			description = Alignment of the message within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = LEFT
		
		[fields.message.width]
			name = Width
			description = The width of the message field. Use zero to take all available space. 
			type = TEXT
			default-value = 0
		
		[fields.message.style]
			name = Style
			description = The style expression to use for message field. 
			type = TEXT
			default-value = ${message}
		
		[fields.message.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = ${message}
	
	[fields.markers]
		name = Markers
		description = Optional log markers.
		
		[fields.markers.alignment]
			name = Alignment
			description = Alignment of the markers within thier allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = LEFT
		
		[fields.markers.width]
			name = Width
			description = The width of the markers field. Use zero to take all available space. 
			type = TEXT
			default-value = 0
		
		[fields.markers.style]
			name = Style
			description = The style expression to use for message field. 
			type = TEXT
			default-value = ${markers}
		
		[fields.markers.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = ${message}
	
	[fields.name]
		name = Name
		description = The full logger name.
		
		[fields.name.alignment]
			name = Alignment
			description = Alignment of the name within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = LEFT
		
		[fields.name.width]
			name = Width
			description = The width of the name field. Use zero to take all available space. 
			type = TEXT
			default-value = 0
		
		[fields.name.style]
			name = Style
			description = The style expression to use for name field. 
			type = TEXT
			default-value = ${name}
		
		[fields.name.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = ${name}
	
	[fields.short-name]
		name = Name
		description = The full logger name.
		
		[fields.short-name.alignment]
			name = Alignment
			description = Alignment of the short name within its allocated space. 
			type = ENUM
			value = LEFT, RIGHT, CENTER
			default-value = LEFT
		
		[fields.short-name.width]
			name = Width
			description = The width of the short name field. Use zero to take all available space. 
			type = TEXT
			default-value = 15
		
		[fields.short-name.style]
			name = Style
			description = The style expression to use for short name field. 
			type = TEXT
			default-value = "@{bold ${short-name}}"
		
		[fields.short-name.decoration]
			name = Decoration
			description = Decoration is added around the styled, padded and trimmed text.
			type = TEXT
			default-value = ${short-name}
		
;
; Levels
;

[levels]
	name = Levels
	description = Configuration for each of the levels
	
	[levels.TRACE]
		name = Trace
		description = Configuration for the TRACE level
		
		[levels.TRACE.text]
			name = Text
			description = The text to use for the TRACE level
			type = TEXT
			default-value = 🔍 TRACE
			
		[levels.TRACE.style]
			name = Style
			description = The style expression to use for the TRACE level. 
			type = TEXT
			default-value = "@{faint ${text}}"
	
	; ------
		
	[levels.DEBUG]
		name = Debug
		description = Configuration for the DEBUG level
		
		[levels.DEBUG.text]
			name = Text
			description = The text to use for the DEBUG level
			type = TEXT
			default-value = 🐛 DEBUG
			
		[levels.DEBUG.style]
			name = Style
			description = The style expression to use for the DEBUG level. 
			type = TEXT
			default-value = "@{italic,fg:cyan ${text}}"
	
	; ------
		
	[levels.INFO]
		name = Info
		description = Configuration for the INFO level
		
		[levels.INFO.text]
			name = Text
			description = The text to use for the INFO level
			type = TEXT
			default-value = ℹ️ INFO
			
		[levels.INFO.style]
			name = Style
			description = The style expression to use for the INFO level. 
			type = TEXT
			default-value = "@{fg:blue ${text}}"
			
	
	; ------
	
	[levels.WARN]
		name = Trace
		description = Configuration for the WARN level
		
		[levels.WARN.text]
			name = Text
			description = The text to use for the WARN level
			type = TEXT
			default-value = ⚠️ WARN
			
		[levels.WARN.style]
			name = Style
			description = The style expression to use for the WARN level. 
			type = TEXT
			default-value = "@{fg:yellow ${text}}"
	
	; ------
	
	[levels.ERROR]
		name = Trace
		description = Configuration for the ERROR level
		
		[levels.ERROR.text]
			name = Text
			description = The text to use for the ERROR level
			type = TEXT
			default-value = "⛔ ERROR"
			
		[levels.ERROR.style]
			name = Style
			description = The style expression to use for the ERROR level. 
			type = TEXT
			default-value = "@{bold,fg:red ${text}}"
		




© 2015 - 2025 Weber Informatics LLC | Privacy Policy