[MGNLCE-374] Improve log format Created: 22/Aug/23  Updated: 22/Aug/23

Status: Open
Project: Community Edition
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Neutral
Reporter: Quach Hao Thien Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)

 Description   

As a result of fixing CWE 117 on this ticket MGNLCE-363, the log4j2's pattern layout has been revised to escape all CRLF characters that cause the log message hard to read and understand

2023-08-22 09:12:31,998 INFO  fo.magnolia.i18nsystem.DefaultMessageBundlesLoader: \n------------------------------------\nDuplicated keys found while loading message bundles from ./mgnl-i18n :\n------------------------------------\nNumber of duplicates based on key pattern <key>_<locale>_<bundle-url>: 160\nNumber of duplicates based on key pattern <key>_<locale>: 160\nNumber of duplicates based on key pattern <key>: 110\nTo get more details concerning the keys, raise the log level to 'DEBUG' for info.magnolia.i18nsystem.DefaultMessageBundlesLoader.\nIf you encounter a large number of duplicates, it's possible that you are running in a development environment where you have multiple copies of the web-apps in the overlays folder of your web-app.\nURLs of the affected files creating duplicate entries:\nLayeredResource{path='/categorization/i18n/categorization_rss_backend_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/categorization/i18n/categorization_rss_backend_en.properties,file}]}\nLayeredResource{path='/lang-cs/i18n/ui-admincentral/pulse/ui-admincentral-pulse-messages_cs.properties', layeredResources=[ClasspathResource{origin=classpath,path=/lang-cs/i18n/ui-admincentral/pulse/ui-admincentral-pulse-messages_cs.properties,file}]}\nLayeredResource{path='/lang-cs/i18n/ui-admincentral/ui-admincentral-messages_cs.properties', layeredResources=[ClasspathResource{origin=classpath,path=/lang-cs/i18n/ui-admincentral/ui-admincentral-messages_cs.properties,file}]}\nLayeredResource{path='/mgnl-i18n/standard-templating-kit/app-stkTemplateDefsApp-messages_de.properties', layeredResources=[ClasspathResource{origin=classpath,path=/mgnl-i18n/standard-templating-kit/app-stkTemplateDefsApp-messages_de.properties,file}]}\nLayeredResource{path='/mgnl-i18n/standard-templating-kit/shellapp-app-launcher-stk-messages_de.properties', layeredResources=[ClasspathResource{origin=classpath,path=/mgnl-i18n/standard-templating-kit/shellapp-app-launcher-stk-messages_de.properties,file}]}\nLayeredResource{path='/mgnl-i18n/ui-admincentral/shellapp-app-launcher-messages_ja.properties', layeredResources=[ClasspathResource{origin=classpath,path=/mgnl-i18n/ui-admincentral/shellapp-app-launcher-messages_ja.properties,file}]}\nLayeredResource{path='/mgnl-i18n/ui-admincentral/ui-admincentral-messages_ko.properties', layeredResources=[ClasspathResource{origin=classpath,path=/mgnl-i18n/ui-admincentral/ui-admincentral-messages_ko.properties,file}]}\nLayeredResource{path='/mgnl-i18n/workflow/workflow-messages_ko.properties', layeredResources=[ClasspathResource{origin=classpath,path=/mgnl-i18n/workflow/workflow-messages_ko.properties,file}]}\nLayeredResource{path='/mgnl-i18n/workflow/workflow-messages_zh_CN.properties', layeredResources=[ClasspathResource{origin=classpath,path=/mgnl-i18n/workflow/workflow-messages_zh_CN.properties,file}]}\nLayeredResource{path='/personalization-pages/i18n/personalization-pages_de.properties', layeredResources=[ClasspathResource{origin=classpath,path=/personalization-pages/i18n/personalization-pages_de.properties,file}]}\nLayeredResource{path='/publishing-app/i18n/publishing-app-messages_de.properties', layeredResources=[ClasspathResource{origin=classpath,path=/publishing-app/i18n/publishing-app-messages_de.properties,file}]}\nLayeredResource{path='/publishing-app/i18n/publishing-app-messages_es.properties', layeredResources=[ClasspathResource{origin=classpath,path=/publishing-app/i18n/publishing-app-messages_es.properties,file}]}\nLayeredResource{path='/publishing-app/i18n/publishing-app-messages_fr.properties', layeredResources=[ClasspathResource{origin=classpath,path=/publishing-app/i18n/publishing-app-messages_fr.properties,file}]}\nLayeredResource{path='/rssaggregator/i18n/rssaggregator-backend_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/rssaggregator/i18n/rssaggregator-backend_en.properties,file}]}\nLayeredResource{path='/travel-demo-multisite/i18n/module-travel-demo-multisite-messages_ko.properties', layeredResources=[ClasspathResource{origin=classpath,path=/travel-demo-multisite/i18n/module-travel-demo-multisite-messages_ko.properties,file}]}\nLayeredResource{path='/travel-demo/i18n/module-travel-demo-backend_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/travel-demo/i18n/module-travel-demo-backend_en.properties,file}]}\nLayeredResource{path='/travel-demo/i18n/module-travel-demo-frontend_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/travel-demo/i18n/module-travel-demo-frontend_en.properties,file}]}\nLayeredResource{path='/travel-demo/i18n/module-travel-demo-messages_ko.properties', layeredResources=[ClasspathResource{origin=classpath,path=/travel-demo/i18n/module-travel-demo-messages_ko.properties,file}]}\nLayeredResource{path='/ui-admincentral/i18n/ui-admincentral-messages_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-admincentral/i18n/ui-admincentral-messages_en.properties,file}]}\nLayeredResource{path='/ui-form/i18n/module-ui-form-backend_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-form/i18n/module-ui-form-backend_en.properties,file}]}\nLayeredResource{path='/ui-framework-core/i18n/ui-framework_de.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-framework-core/i18n/ui-framework_de.properties,file}]}\nLayeredResource{path='/ui-framework-core/i18n/ui-framework_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-framework-core/i18n/ui-framework_en.properties,file}]}\nLayeredResource{path='/ui-framework-core/i18n/ui-framework_es.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-framework-core/i18n/ui-framework_es.properties,file}]}\nLayeredResource{path='/ui-framework-core/i18n/ui-framework_fr.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-framework-core/i18n/ui-framework_fr.properties,file}]}\nLayeredResource{path='/ui-framework-core/i18n/ui-framework_it.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-framework-core/i18n/ui-framework_it.properties,file}]}\nLayeredResource{path='/ui-framework-jcr/i18n/ui-framework-jcr_en.properties', layeredResources=[ClasspathResource{origin=classpath,path=/ui-framework-jcr/i18n/ui-framework-jcr_en.properties,file}]}\n------------------------------------ 

Acceptant criteria:

Display the log message with the correct line break and ensure that the format will not affect Improper Output Neutralization for Logs (CWE ID 117)


Generated at Mon Feb 12 00:08:44 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.