Skip to content

Commit ab4f4d0

Browse files
Merge pull request #194 from Civcraft/targetted_logging
Addressing some less then great logspamming due to what gets logged
2 parents 7bb6608 + 3e9f9c9 commit ab4f4d0

File tree

7 files changed

+80
-25
lines changed

7 files changed

+80
-25
lines changed

.editorconfig

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
7+
[*.java]
8+
indent_style = tab
9+
tab_width = 4
10+
trim_trailing_whitespace = true
11+
12+
[*.xml]
13+
indent_style = tab
14+
tab_width = 4
15+
trim_trailing_whitespace = true
16+
17+
[*.yml]
18+
indent_style = space
19+
tab_width = 2
20+
trim_trailing_whitespace = true

config.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,19 @@
1313
# speed: the speed of the particles
1414
# particleCount: the amount of particle to display.
1515
# view_distance: the distance from which players will be able to see the effect. default is 16.
16+
# internal_logging logs Citadel internal status messages, config notices, and the like. Strongly recommend it be on.
1617
internal_logging: true
18+
# command_logging logs the _response_ that Citadel sends to the player; very useful.
1719
command_logging: true
18-
break_logging: true
20+
# break_logging logs all reinforcement breaks that are done in /ctb mode (e.g. friendly breaks).
21+
break_logging: false
22+
# hostile_logging logs all reinforcement breaks that are done without bypass (e.g. hostile breaks).
23+
hostile_logging: true
24+
# damage_logging logs all reinforcement break attempts. Leave off unless you need it.
25+
damage_logging: false
26+
# reinf_logging logs all reinforcement creation and also logs when group lookups fail. Can get super spammy.
1927
reinf_logging: false
28+
# All logging states can be controlled using /ctsl
2029
reinforcements:
2130
stone_tier:
2231
material: STONE

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<groupId>vg.civcraft.mc.citadel</groupId>
66
<artifactId>Citadel</artifactId>
77
<packaging>jar</packaging>
8-
<version>3.5.7</version>
8+
<version>3.5.8</version>
99
<name>Citadel</name>
1010
<url>https://github.com/Civcraft/Citadel</url>
1111

src/vg/civcraft/mc/citadel/CitadelConfigManager.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,18 @@ public static boolean shouldLogPlayerCommands() {
182182
return config.getBoolean("command_logging", false);
183183
}
184184

185-
public static boolean shouldLogBreaks() {
185+
public static boolean shouldLogFriendlyBreaks() {
186186
return config.getBoolean("break_logging", false);
187187
}
188188

189+
public static boolean shouldLogHostileBreaks() {
190+
return config.getBoolean("hostile_logging", false);
191+
}
192+
193+
public static boolean shouldLogDamage() {
194+
return config.getBoolean("damage_logging", false);
195+
}
196+
189197
public static boolean shouldLogReinforcement() {
190198
return config.getBoolean("reinf_logging", false);
191199
}

src/vg/civcraft/mc/citadel/Utility.java

+24-14
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,22 @@ public static boolean reinforcementDamaged(Player player, Reinforcement reinforc
418418
reinforcement.setDurability(durability);
419419
boolean cancelled = durability > 0;
420420
if (durability <= 0) {
421-
cancelled = reinforcementBroken(null, reinforcement);
421+
if (CitadelConfigManager.shouldLogHostileBreaks()) {
422+
StringBuffer slb = new StringBuffer();
423+
if (player != null) {
424+
slb.append("Player ").append(player.getName()).append(" [").append(player.getUniqueId())
425+
.append("] ");
426+
} else {
427+
slb.append("Something ");
428+
}
429+
slb.append("broke a ").append(reinforcement.getMaterial()).append(" reinforcement at ")
430+
.append(reinforcement.getLocation());
431+
Citadel.Log(slb.toString());
432+
}
433+
cancelled = reinforcementBroken(null, reinforcement);
422434
} else {
423435
/* TODO: Move to ReinforcementEvent listener*/
424-
if (CitadelConfigManager.shouldLogBreaks()) {
436+
if (CitadelConfigManager.shouldLogDamage()) {
425437
StringBuffer slb = new StringBuffer();
426438
if (player != null) {
427439
slb.append("Player ").append(player.getName()).append(" [").append(player.getUniqueId())
@@ -456,6 +468,7 @@ public static boolean reinforcementDamaged(Player player, Reinforcement reinforc
456468
slb.append("excellent (");
457469
}
458470
slb.append(durability).append(") at ").append(reinforcement.getLocation());
471+
Citadel.Log(slb.toString());
459472
}
460473
if (reinforcement instanceof PlayerReinforcement) {
461474
// leave message
@@ -539,22 +552,19 @@ public static boolean reinforcementBroken(Player player, Reinforcement reinforce
539552
return false;
540553
}
541554
StringBuffer slb = null;
542-
if (CitadelConfigManager.shouldLogBreaks()) {
555+
boolean logIt = CitadelConfigManager.shouldLogFriendlyBreaks() && player != null;
556+
if (logIt) {
543557
slb = new StringBuffer();
544-
if (player != null) {
545-
slb.append("Player ").append(player.getName()).append(" [").append(player.getUniqueId())
546-
.append("]");
547-
} else {
548-
slb.append("Something ");
549-
}
550-
slb.append("broke a ").append(reinforcement.getMaterial()).append(" reinforcement at ")
558+
slb.append("Player ").append(player.getName()).append(" [").append(player.getUniqueId())
559+
.append("] bypassed a ").append(reinforcement.getMaterial()).append(" reinforcement at ")
551560
.append(reinforcement.getLocation());
552561
}
553562
Citadel.getReinforcementManager().deleteReinforcement(reinforcement);
554563
if (reinforcement instanceof PlayerReinforcement) {
555564
PlayerReinforcement pr = (PlayerReinforcement)reinforcement;
556565
ReinforcementType material = ReinforcementType.getReinforcementType(pr.getStackRepresentation());
557-
if (rng.nextDouble() <= pr.getHealth() * material.getPercentReturn()) {
566+
// RNG is [0,1) so <= would give chance of return if health is 0. Replaced with < alone to fix.
567+
if (rng.nextDouble() < pr.getHealth() * material.getPercentReturn()) {
558568
Location location = pr.getLocation();
559569
if (player != null){
560570
Inventory inv = player.getInventory();
@@ -579,17 +589,17 @@ public static boolean reinforcementBroken(Player player, Reinforcement reinforce
579589
dropItemAtLocation(location, new ItemStack(material.getMaterial()
580590
, material.getReturnValue()));
581591
}
582-
if (CitadelConfigManager.shouldLogBreaks()) {
592+
if (logIt) {
583593
slb.append(" - reinf mat refunded");
584594
Citadel.Log(slb.toString());
585595
}
586-
} else if (CitadelConfigManager.shouldLogBreaks()) {
596+
} else if (logIt) {
587597
slb.append(" - reinf mat lost");
588598
Citadel.Log(slb.toString());
589599
}
590600
return (pr.isDoor() || pr.isContainer());
591601
}
592-
if (CitadelConfigManager.shouldLogBreaks()) {
602+
if (logIt) {
593603
Citadel.Log(slb.toString());
594604
}
595605
return false; // implicit isSecureable() == false

src/vg/civcraft/mc/citadel/command/commands/Acid.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public boolean execute(CommandSender sender, String[] args) {
109109
return true;
110110
}
111111

112-
if (CitadelConfigManager.shouldLogBreaks()) {
112+
if (CitadelConfigManager.shouldLogHostileBreaks()) {
113113
Citadel.getInstance().getLogger().log(Level.INFO, "Acid at {0} broke {1} at {2}",
114114
new Object[] {block.getLocation(), topFace.getType(), topFace.getLocation()});
115115
}

src/vg/civcraft/mc/citadel/command/commands/SetLogging.java

+15-7
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public SetLogging(String name) {
1717
super(name);
1818
setIdentifier("ctsl");
1919
setDescription("Allows admins to toggle special logging types live or show current status");
20-
setUsage("/ctsl [internal|playercommands|breaks|reinforcements [on|off]]");
20+
setUsage("/ctsl [internal|playercommands|breaks|hostilebreaks|damage|reinforcements [on|off]]");
2121
setArguments(0, 2);
2222
}
2323

@@ -43,7 +43,9 @@ public boolean execute(CommandSender sender, String[] args) {
4343
StringBuilder sb = new StringBuilder("Current deep logging set to: \n");
4444
sb.append(" Internal: ").append(CitadelConfigManager.shouldLogInternal()).append("\n");
4545
sb.append(" Player Command Responses: ").append(CitadelConfigManager.shouldLogPlayerCommands()).append("\n");
46-
sb.append(" Breaks: ").append(CitadelConfigManager.shouldLogBreaks()).append("\n");
46+
sb.append(" Friendly/CTB Breaks: ").append(CitadelConfigManager.shouldLogFriendlyBreaks()).append("\n");
47+
sb.append(" Hostile Breaks: ").append(CitadelConfigManager.shouldLogHostileBreaks()).append("\n");
48+
sb.append(" Damage: ").append(CitadelConfigManager.shouldLogDamage()).append("\n");
4749
sb.append(" Reinforcements: ").append(CitadelConfigManager.shouldLogReinforcement()).append("\n");
4850

4951
sendAndLog(sender, ChatColor.GREEN, sb.toString());
@@ -54,13 +56,19 @@ public boolean execute(CommandSender sender, String[] args) {
5456
if (args.length >= 1) {
5557
if ("internal".equalsIgnoreCase(args[0])) {
5658
flag = "internal_logging";
57-
newval = CitadelConfigManager.shouldLogInternal();
59+
newval = CitadelConfigManager.shouldLogInternal();
5860
} else if ("playercommands".equalsIgnoreCase(args[0])) {
5961
flag = "command_logging";
60-
newval = CitadelConfigManager.shouldLogPlayerCommands();
62+
newval = CitadelConfigManager.shouldLogPlayerCommands();
6163
} else if ("breaks".equalsIgnoreCase(args[0])) {
6264
flag = "break_logging";
63-
newval = CitadelConfigManager.shouldLogBreaks();
65+
newval = CitadelConfigManager.shouldLogFriendlyBreaks();
66+
} else if ("hostilebreaks".equalsIgnoreCase(args[0])) {
67+
flag = "hostile_logging";
68+
newval = CitadelConfigManager.shouldLogHostileBreaks();
69+
} else if ("damage".equalsIgnoreCase(args[0])) {
70+
flag = "damage_logging";
71+
newval = CitadelConfigManager.shouldLogDamage();
6472
} else if ("reinforcements".equalsIgnoreCase(args[0])) {
6573
flag = "reinf_logging";
6674
newval = CitadelConfigManager.shouldLogReinforcement();
@@ -76,15 +84,15 @@ public boolean execute(CommandSender sender, String[] args) {
7684

7785
if (flag != null) {
7886
Citadel.getInstance().getConfig().set(flag, newval);
79-
sendAndLog(sender, ChatColor.GREEN, "Flag " + newval + " is " + (newval ? "on" : "off"));
87+
sendAndLog(sender, ChatColor.GREEN, "Flag " + flag + " is " + (newval ? "on" : "off"));
8088
return true;
8189
} else {
8290
sendAndLog(sender, ChatColor.RED, "Unknown setting!");
8391
return false;
8492
}
8593
}
8694

87-
private static List<String> cmds = Arrays.asList("internal","playercommands", "breaks", "reinforcements");
95+
private static List<String> cmds = Arrays.asList("internal","playercommands", "hostilebreaks", "breaks", "damage", "reinforcements");
8896
private static List<String> flgs = Arrays.asList("on", "off");
8997
@Override
9098
public List<String> tabComplete(CommandSender arg0, String[] arg1) {

0 commit comments

Comments
 (0)