Refactor expedition logging

This commit is contained in:
P0nk
2022-01-03 18:13:24 +01:00
parent 189d8096db
commit 7e7c2cb153
3 changed files with 33 additions and 20 deletions

View File

@@ -32,6 +32,8 @@ import net.server.audit.locks.MonitoredLockType;
import net.server.audit.locks.MonitoredReentrantLock;
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
import net.server.channel.Channel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.TimerManager;
import server.life.Monster;
import server.maps.MapleMap;
@@ -51,6 +53,7 @@ import static java.util.concurrent.TimeUnit.MINUTES;
* @author Alan (SharpAceX)
*/
public class Expedition {
private static final Logger log = LoggerFactory.getLogger(Expedition.class);
private static final int[] EXPEDITION_BOSSES = {
MobId.ZAKUM_1,
@@ -151,10 +154,29 @@ public class Expedition {
schedule.cancel(false);
}
if (log && !registering) {
LogHelper.logExpedition(this);
log();
}
}
private void log() {
final String gmMessage = type + " Expedition with leader " + leader.getName() + " finished after " + LogHelper.getTimeString(getStartTime());
Server.getInstance().broadcastGMMessage(getLeader().getWorld(), PacketCreator.serverNotice(6, gmMessage));
String log = type + " EXPEDITION\r\n";
log += LogHelper.getTimeString(startTime) + "\r\n";
for (String memberName : getMembers().values()) {
log += ">>" + memberName + "\r\n";
}
log += "BOSS KILLS\r\n";
for (String message : bossLogs) {
log += message;
}
log += "\r\n";
Expedition.log.info(log);
}
public void finishRegistration() {
registering = false;
}

View File

@@ -2,9 +2,7 @@ package tools;
import client.Character;
import client.Client;
import net.server.Server;
import server.ItemInformationProvider;
import server.expeditions.Expedition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -15,23 +13,6 @@ import static java.util.concurrent.TimeUnit.SECONDS;
public class LogHelper {
public static void logExpedition(Expedition expedition) {
Server.getInstance().broadcastGMMessage(expedition.getLeader().getWorld(), PacketCreator.serverNotice(6, expedition.getType().toString() + " Expedition with leader " + expedition.getLeader().getName() + " finished after " + getTimeString(expedition.getStartTime())));
String log = expedition.getType().toString() + " EXPEDITION\r\n";
log += getTimeString(expedition.getStartTime()) + "\r\n";
for (String memberName : expedition.getMembers().values()) {
log += ">>" + memberName + "\r\n";
}
log += "BOSS KILLS\r\n";
for (String message : expedition.getBossLogs()) {
log += message;
}
log += "\r\n";
FilePrinter.print(FilePrinter.LOG_EXPEDITION, log);
}
public static String getTimeString(long then) {
long duration = System.currentTimeMillis() - then;
int seconds = (int) (duration / SECONDS.toMillis(1)) % 60;