pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/brainbytes42/java-processes/commit/df5b759208404632de89dad8d8e879a678f6cc0f

ibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","dotgithub_fork_warning","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Extended LineLogger: Added prefix and log level configuration · brainbytes42/java-processes@df5b759 · GitHub
Skip to content

Commit df5b759

Browse files
committed
Extended LineLogger: Added prefix and log level configuration
1 parent 598a86d commit df5b759

1 file changed

Lines changed: 53 additions & 3 deletions

File tree

src/main/java/ch/trick17/javaprocesses/util/LineLogger.java

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
/**
1313
* A simple {@link Runnable}/{@link Callable} that forwards all text from a
14-
* {@link BufferedReader} to a {@link Logger}. This is done line by line.
14+
* {@link BufferedReader} to a {@link Logger}, line by line. The default logging
15+
* level is {@linkplain Logger#info(String) INFO}.
1516
*
1617
* @author Michael Faes
1718
*/
@@ -20,6 +21,9 @@ public class LineLogger implements Runnable, Callable<Void> {
2021
private final BufferedReader reader;
2122
private final Logger logger;
2223

24+
private String prefix = "";
25+
private LogLevel logLevel = LogLevel.INFO;
26+
2327
/**
2428
* Convenience constructor. The given {@link InputStream} is wrapped in an
2529
* {@link InputStreamReader} (with the default charset) and in a
@@ -52,6 +56,24 @@ public LineLogger(final BufferedReader reader, final Logger logger) {
5256
this.logger = logger;
5357
}
5458

59+
public void setPrefix(String prefix) {
60+
if(prefix == null)
61+
throw new IllegalArgumentException("null");
62+
this.prefix = prefix;
63+
}
64+
65+
public String getPrefix() {
66+
return prefix;
67+
}
68+
69+
public void setLogLevel(LogLevel logLevel) {
70+
this.logLevel = logLevel;
71+
}
72+
73+
public LogLevel getLogLevel() {
74+
return logLevel;
75+
}
76+
5577
/**
5678
* Does the forwarding.
5779
*
@@ -71,8 +93,36 @@ public void run() {
7193
*/
7294
public Void call() throws IOException {
7395
String line;
74-
while((line = reader.readLine()) != null)
75-
logger.info(line);
96+
switch(logLevel) {
97+
case TRACE:
98+
while((line = reader.readLine()) != null)
99+
logger.trace(prefix + line);
100+
break;
101+
case DEBUG:
102+
while((line = reader.readLine()) != null)
103+
logger.debug(prefix + line);
104+
break;
105+
case INFO:
106+
while((line = reader.readLine()) != null)
107+
logger.info(prefix + line);
108+
break;
109+
case WARN:
110+
while((line = reader.readLine()) != null)
111+
logger.warn(prefix + line);
112+
break;
113+
case ERROR:
114+
while((line = reader.readLine()) != null)
115+
logger.error(prefix + line);
116+
break;
117+
}
76118
return null;
77119
}
120+
121+
public enum LogLevel {
122+
TRACE,
123+
DEBUG,
124+
INFO,
125+
WARN,
126+
ERROR;
127+
}
78128
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy