package org.beanfuse.security.access.log;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.beanfuse.security.access.AccessLog;
public class DefaultAccessLog implements AccessLog {
String uri;
String params;
long beginAt;
long endAt;
public String toString() {
StringBuilder sb=new StringBuilder(uri);
if(null!=params){
sb.append('?').append(params);
}
sb.append('(');
DateFormat f= new SimpleDateFormat("HH:mm:ss");
sb.append(f.format(new Date(beginAt)));
sb.append('-');
if(0!=endAt){
sb.append(f.format(new Date(endAt)));
sb.append(" duration ").append((endAt-beginAt)/1000).append(" s");
}else{
sb.append(" not ended");
}
sb.append(')');
return sb.toString();
}
public long getDuration() {
if (0 == endAt) {
return System.currentTimeMillis() - beginAt;
} else {
return endAt - beginAt;
}
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public long getBeginAt() {
return beginAt;
}
public void setBeginAt(long beginAt) {
this.beginAt = beginAt;
}
public long getEndAt() {
return endAt;
}
public void setEndAt(long endAt) {
this.endAt = endAt;
}
public Date getBeignTime() {
if (0 != beginAt) {
return new Date(beginAt);
} else
return null;
}
public Date getEndTime() {
if (0 != endAt) {
return new Date(endAt);
} else
return null;
}
}