Skip to content

Commit 03ea436

Browse files
#0.2e Добавлен параметр (check) "/c" - только проверка без записи в лог.
1 parent 3f4fc66 commit 03ea436

File tree

6 files changed

+32
-12
lines changed

6 files changed

+32
-12
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.shugajev</groupId>
88
<artifactId>PingLogger</artifactId>
9-
<version>0.2d</version>
9+
<version>0.2e</version>
1010

1111
<properties>
1212
<source>1.8</source>

run_flight.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=200s,filename=flight.jfr -jar PingLogger.jar -w:0 google.com google.com google.com google.com google.com
1+
java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=600s,filename=flight.jfr -jar PingLogger.jar -w:0 google.com google.com google.com google.com google.com

src/logic/Logger.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,22 @@ public class Logger {
2626
/** инициализация переменных */
2727
public static void init() {
2828
rowsInLog = 0;
29-
dateTimeStart = LocalDateTime.now();
30-
logFile = "ping_"
31-
+ dateTimeStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm"))
32-
+ ".csv";
29+
if (Vars.isCheckOnlyCommand())
30+
logFile = "<check only>";
31+
else {
32+
dateTimeStart = LocalDateTime.now();
33+
logFile = "ping_"
34+
+ dateTimeStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm"))
35+
+ ".csv";
36+
}
3337
}
3438

3539
/** начало записи в лог (создание файла и шапка) */
3640
public static void begin() {
3741
if (logFile == null)
3842
init();
43+
if (Vars.isCheckOnlyCommand())
44+
return;
3945
try (FileWriter fw = new FileWriter(logFile, false)) {
4046
fw.write(LOG_COLS_NAMES);
4147
fw.flush();
@@ -46,6 +52,8 @@ public static void begin() {
4652

4753
/** сохранение всех хостов в лог */
4854
public static void saveAllPings() {
55+
if (Vars.isCheckOnlyCommand())
56+
return;
4957
if (rowsInLog == 0)
5058
begin();
5159
try (FileWriter fw = new FileWriter(logFile, true)) {

src/logic/Vars.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,19 @@
55
/** глобальные переменные и функции */
66
public class Vars {
77

8-
public final static String PROG_VER = "0.2d";
8+
public final static String PROG_VER = "0.2e";
99

1010
private static long processWait = 15*1000; // 5*60*1000 = 5 минут
1111

1212
private static boolean isHelpCommand = false;
13-
13+
private static boolean isCheckOnlyCommand = false;
14+
1415
/** надо ли показывать подсказку комманд программы (help) */
1516
public static boolean isHelpCommand() { return isHelpCommand; }
16-
17+
18+
/** только проверка хостов без записи в лог (check) */
19+
public static boolean isCheckOnlyCommand() { return isCheckOnlyCommand; }
20+
1721
/** время ожидания повтора процесса пинга в миллисекундах */
1822
public static long getProcessWait() { return processWait; }
1923

@@ -33,6 +37,9 @@ public static void readArgs(String[] args) {
3337
if (p.startsWith("h") | p.startsWith("?")) { // help
3438
isHelpCommand = true;
3539
}
40+
if (p.startsWith("c")) { // check
41+
isCheckOnlyCommand = true;
42+
}
3643
if (p.startsWith("w:")) { // wait
3744
try {
3845
processWait = Long.parseLong(p.substring(2)) * 1000;

src/main/PingLogger.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66
import view.Text;
77

88
/**
9-
* Программа: JavaPingLogger v0.2d
10-
* Автор: Сергей Шугаев
9+
* JavaPingLogger
10+
* - Программа для проверки сайтов на соединение с логированием.
11+
* @version v0.2e
12+
* @author Sergej Shugajev
1113
*/
1214
public class PingLogger {
1315

1416
public static void main(String[] args) {
1517
Vars.readArgs(args);
18+
// Vars.readArgs(new String[] {"/w:0", "google.com", "google.com", "google.com"});
19+
// Vars.readArgs(new String[] {"/c", "/w:1", "google.com", "yandex.ru"});
1620
if (Vars.isHelpCommand()) {
1721
Text.doViewHelp();
1822
System.exit(0);

src/view/Text.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ public class Text {
1616

1717
/** показать справку по программе (help) */
1818
public static void doViewHelp() {
19-
out.println("Usage: JavaPingLogger [-w:<wait>] [<host>] [<host>]\n\nOptions:");
19+
out.println("Usage: JavaPingLogger [-c] [-w:<wait>] [<host>] [<host>]\n\nOptions:");
20+
out.printf("%4s %-12s Checking hosts without logging.\n", "", "-c");
2021
out.printf("%4s %-12s Timeout before re-checking hosts (in seconds).\n", "", "-w:<wait>");
2122
out.printf("%4s %-12s The name of the host to be checked.\n", "", "<host>");
2223
}

0 commit comments

Comments
 (0)