Is this bad practice? timestamp logging -
Garavel - 29.01.2018
I'm thinking of making my log timestamps global. As in...
Currently every command has its own gettime and getdate.
Код:
if(strcmp(cmd, "/samp", true) == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "SA:MP.");
new y, m, d;new h,mi,s;getdate(y,m,d);gettime(h,mi,s);
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] SA:MP -> %s.",d,m,y,h,mi,s,sendername);
CommandLog(string);
}
I'm thinking of creating a 500ms timer that gets the time and date on global variables so I don't have to add the same ugly code everywhere...
Код:
new y, m, d;new h,mi,s;
SetTimer("timetimer", 500, 1);
public timetimer()
{
getdate(y,m,d);gettime(h,mi,s);
}
Is this bad practice? How do YOU do this? Any chance this might be any more inaccurate than it currently is? The only thing I can think of is the timer dying, then my logs would be pretty messed up.
Re: Is this bad practice? timestamp logging -
Mugala - 29.01.2018
I dont understand what do u want to make but you can use this CommandLog code at OnPlayerCommandText like this
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
CommandLog(cmdtext[]);
if (strcmp(cmd,"/cmdname", true) == 0)
{
and not in every command.
Re: Is this bad practice? timestamp logging -
wallee - 29.01.2018
if you use a command processor like y_commands then you have a callback like this:
OnPlayerCommandReceived(playerid, cmdtext[], e_COMMAND_ERRORS
uccess)
so you only need your logging code once
Re: Is this bad practice? timestamp logging -
iLearner - 29.01.2018
Why don't you simply gettime() which gets Unix timestamp. And then either use a custom function or timestodate.inc and convert it into valid time / date format.
Re: Is this bad practice? timestamp logging -
iKarim - 29.01.2018
Quote:
Originally Posted by Garavel
I'm thinking of making my log timestamps global. As in...
Код:
new y, m, d;new h,mi,s;
SetTimer("timetimer", 500, 1);
public timetimer()
{
getdate(y,m,d);gettime(h,mi,s);
}
Is this bad practice? How do YOU do this? Any chance this might be any more inaccurate than it currently is?
|
Yes it is, there's no need for a timer or global variables. Just append the timestamp in the string in CommandLog function itself before printing so no need for repetition. This can't be inaccurate still the timer with low interval is totally unnecessary for this task.