actual freya branch

This commit is contained in:
2026-09-12 15:41:31 +00:00
parent 8049e0a882
commit 68c1cd27d4
3510 changed files with 336689 additions and 302906 deletions
@@ -0,0 +1,97 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.util.StringUtil;
public class AccountingFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd MMM H:mm:ss");
@Override
public String format(LogRecord record)
{
final Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params == null ? 0 : params.length * 10), "[", dateFmt.format(new Date(record.getMillis())), "] ", record.getMessage());
for (Object p : params)
{
if (p == null)
{
continue;
}
StringUtil.append(output, ", ");
if (p instanceof L2GameClient)
{
final L2GameClient client = (L2GameClient) p;
String address = null;
try
{
if (!client.isDetached())
{
address = client.getConnection().getInetAddress().getHostAddress();
}
}
catch (Exception e)
{
}
switch (client.getState())
{
case IN_GAME:
if (client.getActiveChar() != null)
{
StringUtil.append(output, client.getActiveChar().getName());
StringUtil.append(output, "(", String.valueOf(client.getActiveChar().getObjectId()), ") ");
}
case AUTHED:
if (client.getAccountName() != null)
{
StringUtil.append(output, client.getAccountName(), " ");
}
case CONNECTED:
if (address != null)
{
StringUtil.append(output, address);
}
break;
default:
throw new IllegalStateException("Missing state on switch");
}
}
else if (p instanceof L2PcInstance)
{
L2PcInstance player = (L2PcInstance) p;
StringUtil.append(output, player.getName());
StringUtil.append(output, "(", String.valueOf(player.getObjectId()), ")");
}
else
{
StringUtil.append(output, p.toString());
}
}
output.append(CRLF);
return output.toString();
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class AccountingLogHandler extends FileHandler
{
public AccountingLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class AllDamageLogHandler extends FileHandler
{
public AllDamageLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,30 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
/**
* @author zabbix Lets drink to code!
*/
public class AuditFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getLoggerName().equalsIgnoreCase("audit");
}
}
@@ -0,0 +1,48 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.util.StringUtil;
/**
* @author zabbix Lets drink to code!
*/
public class AuditFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd MMM H:mm:ss");
@Override
public String format(LogRecord record)
{
final Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params == null ? 0 : params.length * 10), "[", dateFmt.format(new Date(record.getMillis())), "] ", record.getMessage());
for (Object p : params)
{
if (p == null)
{
continue;
}
StringUtil.append(output, ", ", p.toString());
}
output.append(CRLF);
return output.toString();
}
}
@@ -0,0 +1,29 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
/**
* @author zabbix Lets drink to code!
*/
public class AuditLogHandler extends FileHandler
{
public AuditLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,29 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class ChatFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return "chat".equals(record.getLoggerName());
}
}
@@ -0,0 +1,53 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.util.StringUtil;
/**
* This class ...
* @version $Revision: 1.1.4.1 $ $Date: 2005/02/06 16:14:46 $
*/
public class ChatLogFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd MMM H:mm:ss");
@Override
public String format(LogRecord record)
{
Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params != null ? 10 * params.length : 0), "[", dateFmt.format(new Date(record.getMillis())), "] ");
if (params != null)
{
for (Object p : params)
{
StringUtil.append(output, String.valueOf(p), " ");
}
}
StringUtil.append(output, record.getMessage(), CRLF);
return output.toString();
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class ChatLogHandler extends FileHandler
{
public ChatLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,60 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.util.StringUtil;
import com.l2jserver.util.Util;
/**
* This class ...
* @version $Revision: 1.1.4.2 $ $Date: 2005/03/27 15:30:08 $
*/
public class ConsoleLogFormatter extends Formatter
{
/*
* (non-Javadoc)
* @see java.util.logging.Formatter#format(java.util.logging.LogRecord)
*/
// private static final String _ = " ";
private static final String CRLF = "\r\n";
@Override
public String format(LogRecord record)
{
final StringBuilder output = new StringBuilder(500);
// output.append(record.getLevel().getName());
// output.append(_);
// output.append(record.getLoggerName());
// output.append(_);
StringUtil.append(output, record.getMessage(), CRLF);
if (record.getThrown() != null)
{
try
{
StringUtil.append(output, Util.getStackTrace(record.getThrown()), CRLF);
}
catch (Exception ex)
{
}
}
return output.toString();
}
}
@@ -0,0 +1,77 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.gameserver.model.L2Skill;
import com.l2jserver.gameserver.model.actor.L2Attackable;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Summon;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.util.StringUtil;
public class DamageFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("yy.MM.dd H:mm:ss");
@Override
public String format(LogRecord record)
{
final Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params == null ? 0 : params.length * 10), "[", dateFmt.format(new Date(record.getMillis())), "] '---': ", record.getMessage());
for (Object p : params)
{
if (p == null)
{
continue;
}
if (p instanceof L2Character)
{
if ((p instanceof L2Attackable) && ((L2Attackable) p).isRaid())
{
StringUtil.append(output, "RaidBoss ");
}
StringUtil.append(output, ((L2Character) p).getName(), "(", String.valueOf(((L2Character) p).getObjectId()), ") ");
StringUtil.append(output, String.valueOf(((L2Character) p).getLevel()), " lvl");
if (p instanceof L2Summon)
{
L2PcInstance owner = ((L2Summon) p).getOwner();
if (owner != null)
{
StringUtil.append(output, " Owner:", owner.getName(), "(", String.valueOf(owner.getObjectId()), ")");
}
}
}
else if (p instanceof L2Skill)
{
StringUtil.append(output, " with skill ", ((L2Skill) p).getName(), "(", String.valueOf(((L2Skill) p).getId()), ")");
}
else
{
StringUtil.append(output, p.toString());
}
}
output.append(CRLF);
return output.toString();
}
}
@@ -0,0 +1,82 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.gameserver.model.L2ItemInstance;
import com.l2jserver.gameserver.model.L2Skill;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.util.StringUtil;
public class EnchantFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd MMM H:mm:ss");
@Override
public String format(LogRecord record)
{
final Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params == null ? 0 : params.length * 10), "[", dateFmt.format(new Date(record.getMillis())), "] ", record.getMessage());
for (Object p : params)
{
if (p == null)
{
continue;
}
StringUtil.append(output, ", ");
if (p instanceof L2PcInstance)
{
L2PcInstance player = (L2PcInstance) p;
StringUtil.append(output, "Character:", player.getName(), " [" + String.valueOf(player.getObjectId()) + "] Account:", player.getAccountName());
if ((player.getClient() != null) && !player.getClient().isDetached())
{
StringUtil.append(output, " IP:", player.getClient().getConnection().getInetAddress().getHostAddress());
}
}
else if (p instanceof L2ItemInstance)
{
L2ItemInstance item = (L2ItemInstance) p;
if (item.getEnchantLevel() > 0)
{
StringUtil.append(output, "+", String.valueOf(item.getEnchantLevel()), " ");
}
StringUtil.append(output, item.getItem().getName(), "(", String.valueOf(item.getCount()), ")");
StringUtil.append(output, " [", String.valueOf(item.getObjectId()), "]");
}
else if (p instanceof L2Skill)
{
L2Skill skill = (L2Skill) p;
if (skill.getLevel() > 100)
{
StringUtil.append(output, "+", String.valueOf(skill.getLevel() % 100), " ");
}
StringUtil.append(output, skill.getName(), "(", String.valueOf(skill.getId()), " ", String.valueOf(skill.getLevel()), ")");
}
else
{
StringUtil.append(output, p.toString());
}
}
output.append(CRLF);
return output.toString();
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class EnchantItemFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getLoggerName().equalsIgnoreCase("item");
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class EnchantItemLogHandler extends FileHandler
{
public EnchantItemLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class EnchantSkillFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getLoggerName().equalsIgnoreCase("skill");
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class EnchantSkillLogHandler extends FileHandler
{
public EnchantSkillLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,29 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class ErrorFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getThrown() != null;
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class ErrorLogHandler extends FileHandler
{
public ErrorLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,35 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.util.StringUtil;
public class FileLogFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private static final String TAB = "\t";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss,SSS");
@Override
public String format(LogRecord record)
{
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), CRLF);
}
}
@@ -0,0 +1,28 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class GMAuditFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getLoggerName().equalsIgnoreCase("gmaudit");
}
}
@@ -0,0 +1,30 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
public class GMAuditFormatter extends Formatter
{
@Override
public String format(LogRecord record)
{
return record.getMessage() + "\r\n";
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class GMAuditLogHandler extends FileHandler
{
public GMAuditLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,61 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
import com.l2jserver.gameserver.model.L2ItemInstance;
/**
* @author Advi
*/
public class ItemFilter implements Filter
{
// private String _excludeProcess;
// private String _excludeItemType;
// This is an example how to exclude consuming of shots and arrows from logging
private final String _excludeProcess = "Consume";
private final String _excludeItemType = "Arrow, Shot, Herb";
@Override
public boolean isLoggable(LogRecord record)
{
if (!"item".equals(record.getLoggerName()))
{
return false;
}
if (_excludeProcess != null)
{
// if (record.getMessage() == null) return true;
String[] messageList = record.getMessage().split(":");
if ((messageList.length < 2) || !_excludeProcess.contains(messageList[1]))
{
return true;
}
}
if (_excludeItemType != null)
{
// if (record.getParameters() == null || record.getParameters().length == 0 || !(record.getParameters()[0] instanceof L2ItemInstance)) return true;
L2ItemInstance item = ((L2ItemInstance) record.getParameters()[0]);
if (!_excludeItemType.contains(item.getItemType().toString()))
{
return true;
}
}
return ((_excludeProcess == null) && (_excludeItemType == null));
}
}
@@ -0,0 +1,69 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.gameserver.model.L2ItemInstance;
import com.l2jserver.util.StringUtil;
/**
* @author Advi
*/
public class ItemLogFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd MMM H:mm:ss");
@Override
public String format(LogRecord record)
{
final Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params.length * 50), "[", dateFmt.format(new Date(record.getMillis())), "] ", record.getMessage());
for (Object p : record.getParameters())
{
if (p == null)
{
continue;
}
output.append(", ");
if (p instanceof L2ItemInstance)
{
L2ItemInstance item = (L2ItemInstance) p;
StringUtil.append(output, "item ", String.valueOf(item.getObjectId()), ":");
if (item.getEnchantLevel() > 0)
{
StringUtil.append(output, "+", String.valueOf(item.getEnchantLevel()), " ");
}
StringUtil.append(output, item.getItem().getName(), "(", String.valueOf(item.getCount()), ")");
}
// else if (p instanceof L2PcInstance)
// output.append(((L2PcInstance)p).getName());
else
{
output.append(p.toString()/* + ":" + ((L2Object)p).getObjectId() */);
}
}
output.append(CRLF);
return output.toString();
}
}
@@ -0,0 +1,29 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
/**
* @author Advi
*/
public class ItemLogHandler extends FileHandler
{
public ItemLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class MDamageFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getLoggerName().equalsIgnoreCase("mdam");
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class MDamageLogHandler extends FileHandler
{
public MDamageLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,48 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import com.l2jserver.util.StringUtil;
public class OlympiadFormatter extends Formatter
{
private static final String CRLF = "\r\n";
private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd/MM/yyyy H:mm:ss");
@Override
public String format(LogRecord record)
{
final Object[] params = record.getParameters();
final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params == null ? 0 : params.length * 10), dateFmt.format(new Date(record.getMillis())), ",", record.getMessage());
if (params != null)
{
for (Object p : params)
{
if (p == null)
{
continue;
}
StringUtil.append(output, ",", p.toString());
}
}
output.append(CRLF);
return output.toString();
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class OlympiadLogHandler extends FileHandler
{
public OlympiadLogHandler() throws IOException, SecurityException
{
super();
}
}
@@ -0,0 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class PDamageFilter implements Filter
{
@Override
public boolean isLoggable(LogRecord record)
{
return record.getLoggerName().equalsIgnoreCase("pdam");
}
}
@@ -0,0 +1,26 @@
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.log;
import java.io.IOException;
import java.util.logging.FileHandler;
public class PDamageLogHandler extends FileHandler
{
public PDamageLogHandler() throws IOException, SecurityException
{
super();
}
}