File tree Expand file tree Collapse file tree 4 files changed +47
-4
lines changed
java/org/senegas/trafficlight Expand file tree Collapse file tree 4 files changed +47
-4
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ application {
88}
99
1010group = ' org.senegas'
11- version = ' 1.1.0 '
11+ version = ' 1.1.1 '
1212
1313repositories {
1414 mavenCentral()
Original file line number Diff line number Diff line change 99
1010import javax .swing .*;
1111import java .awt .*;
12+ import java .io .IOException ;
13+ import java .nio .file .Files ;
14+ import java .nio .file .Paths ;
1215import java .text .MessageFormat ;
13-
14-
16+ import java . util . logging . LogManager ;
17+ import java . util . logging . Logger ;
1518
1619public class TrafficLightApp {
1720
21+ private static final Logger logger = Logger .getLogger (TrafficLightApp .class .getName ());
22+
1823 public static final String TITLE = "Traffic Light App" ;
1924 //TODO
2025 // // see https://stackoverflow.com/questions/33020069/how-to-get-version-attribute-from-a-gradle-build-to-be-included-in-runtime-swing
21- public static final String VERSION = "1.1.0" ;
26+ public static final String VERSION = "1.1.1" ;
27+
28+ static {
29+ try {
30+ // Ensure the logs directory exists
31+ Files .createDirectories (Paths .get ("logs" ));
32+
33+ // Load the custom logging configuration from resources
34+ LogManager .getLogManager ().readConfiguration (
35+ TrafficLightApp .class .getClassLoader ().getResourceAsStream ("logging.properties" )
36+ );
37+ } catch (IOException e ) {
38+ logger .severe ("Failed to load logging configuration: " + e .getMessage ());
39+ throw new RuntimeException (e );
40+ }
41+ }
2242
2343 public static void main (String [] args ) {
2444 EventQueue .invokeLater (() -> new TrafficLightApp ().create ());
Original file line number Diff line number Diff line change @@ -21,6 +21,16 @@ public class TrafficLightFrame extends JFrame {
2121
2222 public TrafficLightFrame (String title ) throws HeadlessException {
2323 super (title );
24+
25+ final String asciiArtTitle = "\n _____ __ __ _ _ _ _ _ \n " +
26+ "|_ _| __ __ _ / _|/ _(_) ___| | (_) __ _| |__ | |_ \n " +
27+ " | || '__/ _` | |_| |_| |/ __| | | |/ _` | '_ \\ | __|\n " +
28+ " | || | | (_| | _| _| | (__| |___| | (_| | | | | |_ \n " +
29+ " |_||_| \\ __,_|_| |_| |_|\\ ___|_____|_|\\ __, |_| |_|\\ __|\n " +
30+ " |___/ " ;
31+ LOGGER .log (Level .INFO , asciiArtTitle );
32+ LOGGER .log (Level .INFO , title + " has started" );
33+
2434 createTrayIcon ();
2535 }
2636
Original file line number Diff line number Diff line change 1+ # Root logger level and handlers
2+ .level =INFO
3+ handlers =java.util.logging.ConsoleHandler, java.util.logging.FileHandler
4+
5+ # ConsoleHandler configuration
6+ java.util.logging.ConsoleHandler.level =INFO
7+ java.util.logging.ConsoleHandler.formatter =java.util.logging.SimpleFormatter
8+
9+ # FileHandler configuration
10+ java.util.logging.FileHandler.level =INFO
11+ java.util.logging.FileHandler.pattern =logs/trafficlight.log
12+ java.util.logging.FileHandler.append =true
13+ java.util.logging.FileHandler.formatter =java.util.logging.SimpleFormatter
You can’t perform that action at this time.
0 commit comments