spring_boot_starter_logging 0.5.0
spring_boot_starter_logging: ^0.5.0 copied to clipboard
Logging starter for spring_boot_dart: console patterns, log files with rollover, logging.* properties and an in-memory log buffer for in-app log viewers.
0.5.0 #
Changes #
- A log file that cannot be written breaks nothing else, as in Logback: one that cannot be opened at the start (a read-only directory) is reported on the console and the application starts without it (it failed the start).
- When writing fails later (a full disk), the error is reported once, the lines are dropped, and writing is tried again after a pause that grows from 20 ms to about 5 minutes; once a line is written again, one line says how many were lost (
FileAppender.isFailingtells meanwhile). - A roll-over that fails is reported once and tried again a minute later, the lines going on into the current file; an old archive that cannot be deleted is kept, with a warning.
- Errors of the file no longer escape as uncaught errors from
flush, a roll-over orclose(), and the previous log handler is always given back when logging shuts down.
0.4.3 #
- Flutter security (#15)
- feat: single sign-on with OAuth 2.0 / OpenID Connect (spring_boot_sta… (#11)
- docs: the READMEs and docs/ rewritten: what it is, why and when you need it, an example, then Spring (#10)
0.4.2 #
- Docs (#9)
0.4.1 #
- feat: guides replace the examples; optional parameters from Dart nullability; coloured logs
- feat: guides replace the examples; optional parameters from Dart nullability; coloured logs
0.4.0 #
- feat: spring_security_core, spring_boot_starter_security and a CI quality gate
0.3.2 #
- feat: hot reload on the Dart VM, flutter_notes example, fixes for example resources and workspace builds
0.3.1 #
- The example is a Spring Boot application; the logger comes from
@Log(the README shows@Logfirst and the hand-madeSpringLog('name')as the alternative for code outside a scan). spring_auto_configuration.dartre-exportsspring_boot_dart's auto-configuration, so a test namingspringBootAutoConfiguration(ApplicationContextRunner) needs no other dependency.
0.3.0 #
- feat(spring_boot_starter_flutter): themes from properties, free reads in Spring widgets
0.2.3 #
- add spring application handling
- docs(spring_boot_starter_flutter): add an example for pub.dev
0.2.2 #
- ci: run only the tests of the packages a change affects
0.2.1 #
- feat: spring_boot_starter_flutter, @Log, --dart-define properties, Flutter counter example
0.2.0 #
logging.logback.rollingpolicy.max-history=0(FileAppender(maxHistory: 0)) keeps every archive, like Logback (it deleted them all).logging.charset.*takes Java's charset aliases too (utf8,ISO8859_1,ascii7, ...).- Logback's colour words
%black...%white,%gray,%boldRed...,%highlight;%replace(...){regex, replacement},%kvp,%prefix(...),%property{key}. logging.charset.file(UTF-8, ISO-8859-1, US-ASCII;FileAppender(encoding:));logging.charset.consoleis checked.logging.logback.rollingpolicy.file-name-patternis ignored with a warning (rolling is by size only).- On/off properties (
logging.console.enabled,logging.buffer.enabled,logging.include-application-name/-group,logging.logback.rollingpolicy.clean-history-on-start,logging.enabled) take true / false in any case (and on / off, yes / no, 1 / 0); anything else fails the start (FALSEandnopewere on). - An empty
logging.pattern.console=turns the console off (it printed empty lines); an emptylogging.pattern.file=writes no file. - A threshold of
false(YAML'soff) is OFF. - Lines logged while the application starts, before the logging system is set up, are replayed into the file, the buffer and added appenders.
- A failed start: the logging system stays installed until the failure is logged, so the report (or
Application run failedwith the error) reaches the log file. %r/%relativeis never negative: records older than the first pattern (buffered before the logging system started) move the origin back.
0.1.7 #
- Breaking: Spring Boot's default console and file lines (
LogPattern.defaultConsolePattern/defaultFilePattern, replacingLogPattern.defaultPattern): ISO-8601 time with offset, PID,--- [app],[isolate],%-40.40logger{39} :;logging.pattern.dateformat,logging.pattern.level,logging.pattern.correlation,logging.exception-conversion-word,logging.include-application-name/-group,spring.output.ansi.enabled - Breaking:
LogPatternfollows Logback: format modifiers (%-40.40,%.-10),%logger{n}abbreviation,%t/%thread, Java date patterns ('T',XXX;%dalone isyyyy-MM-dd HH:mm:ss,SSS),%exwithout a leading line break (write%n%ex), errors printed also without%ex(%nopexturns that off), Boot's%clr(...),%esb,%wEx,${PID}/${NAME:-default}; anything it cannot parse fails the start; appenders useLogPattern.formatLine - Breaking:
logging.logback.rollingpolicy.max-file-size,.max-history,.clean-history-on-startand the new.total-size-capreplacelogging.file.max-size,logging.file.max-history,logging.file.clean-history-on-start(now ignored with a warning);FileAppender(maxSize:)ismaxFileSize:, newtotalSizeCap: - Breaking:
LoggingSystem.setLevelissetLogLevel(Boot's name);ROOTin any case (ornull) is the root logger, also inlogging.level.ROOT
0.1.6 #
- update road map
- ci: release with a button on main, skip new packages when publishing; shorter pubspec descriptions
0.1.5 #
- add feign runner + web socket runner
- add web core + faign starter for http calling
0.1.4 #
- feat: ObjectMapper in core — JSON on generated metadata (@Introspected, @JsonProperty/@JsonIgnore/@JsonInclude/@JsonCreator/@JsonValue), spring.jackson.* in Boot
0.1.3 #
- add scheduling + cache starters
- fix extension add aop docs
0.1.2 #
- ci: release only from the release branch; fix version-dependent test; Node 24 actions
- fix tests
0.1.1 #
- Example on pub.dev (
example/) and a description within 180 characters.
0.1.0 #
Initial version.
- Auto-configured
LoggingSystembehindSpringLog(off withlogging.enabled=false), installed before application beans are created and uninstalled when the context closes. ConsoleAppenderwith Logback-likeLogPatterns (logging.pattern.console), thresholds per appender (logging.threshold.console/.buffer).LogBuffer: the last records in memory withLogQueryfiltering,watchstreams (one event per burst), counters, logger names and export.FileAppender(logging.file.name/logging.file.path,logging.pattern.file,logging.threshold.file) with size-based rollover (logging.file.max-size,max-history,clean-history-on-start),LoggingSystem.fileDirectoryfor relative locations, and a web stub (FileAppender.isSupported).parseDataSize(10MB,512KB, ...).- Custom
LogAppenders; runtime level changes.