Add opinionated logging integration
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- cli, observability
Research direction
Start by reviewing the Spring Shell logging configuration examples in the issue and the behavior of interactive versus non-interactive terminal output. The issue names no files, tests, or entry points, so the first step is to locate the existing logging and shell startup configuration. Done means agreeing on and implementing a defined approach for conditional debug logging, file logging, and startup errors without disrupting interactive output.
Written by the indexing model from the issue text.
Description
Backround; logging is hard especially with cli apps where whole infrastructure is designed for server applications.
While logging should be relatively fine with plain command output it will completely mess up terminal if there is any interactive components relying terminal escape characters.
In normal shell app you want to disable console logging:
logging:
pattern:
console:
And possibly add debug logs to a shell temporarily:
logging:
file:
name: shell.log
level:
root: debug
org:
springframework:
shell: debug
Trouble with this is that you never get any errors if a shell hard fails at startup.
We should come up with custom opinionated logging configuration so that:
- User can conditionally enable debug logging
- Can configure logging into file
- Can have some automatic "magic" depending if command is interactive or non-interactive
- Regarding if terminal should not have any logging into console, automatically write those into file
We'll keep this issue to collect ideas and other discussion to prepare a solution.
- Dominant language
- Java
- Stars
- 826
- Forks
- 404
- Avg merge
- 6d 9h
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from spring-projects/spring-shell
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
spring-projects/spring-shell#1391 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
spring-projects/spring-shell#1390 ·
-
type/enhancement
Difficulty 3/5 1-2 days Newbie friendliness 68/100
spring-projects/spring-shell#1383 · 6 comments ·
-
area/dependencies type/enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
spring-projects/spring-shell#1213 · 1 reaction ·
-
area/dependencies type/enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
spring-projects/spring-shell#1205 · 1 comment ·
All issues in spring-projects/spring-shell
Similar issues
-
Clarify Javadoc for Logger methods taking Object... arguments with regards to Throwable detectionOpen
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
-
[Bug] The shared instance selector's placeholder and no-match text ignore the display languagePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
apache/rocketmq-dashboard#5561 ·
Maintainers usually reply within 3 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
HMCL-dev/HMCL#6934 · 1 comment ·
Maintainers usually reply within 1 day
-
test(setup): GitHub configuration tests fail when the temp path is long enough for YAML foldingOpenbug good first issue help wanted priority medium size S
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
martin-francois/symphony-trello#776 · 1 comment ·
Maintainers usually reply within 1 day