mirror of
https://github.com/Qortal/qortal.git
synced 2025-03-26 23:44:34 +00:00
Add optional API request logging via "apiLoggingEnabled" entry in Settings
This commit is contained in:
parent
ed94c3c5b3
commit
315ebff61d
@ -4,7 +4,7 @@ import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource;
|
|||||||
|
|
||||||
import org.eclipse.jetty.rewrite.handler.RedirectPatternRule;
|
import org.eclipse.jetty.rewrite.handler.RedirectPatternRule;
|
||||||
import org.eclipse.jetty.rewrite.handler.RewriteHandler;
|
import org.eclipse.jetty.rewrite.handler.RewriteHandler;
|
||||||
|
import org.eclipse.jetty.server.NCSARequestLog;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.handler.ErrorHandler;
|
import org.eclipse.jetty.server.handler.ErrorHandler;
|
||||||
import org.eclipse.jetty.server.handler.InetAccessHandler;
|
import org.eclipse.jetty.server.handler.InetAccessHandler;
|
||||||
@ -38,6 +38,16 @@ public class ApiService {
|
|||||||
ErrorHandler errorHandler = new ApiErrorHandler();
|
ErrorHandler errorHandler = new ApiErrorHandler();
|
||||||
this.server.setErrorHandler(errorHandler);
|
this.server.setErrorHandler(errorHandler);
|
||||||
|
|
||||||
|
// Request logging
|
||||||
|
if (Settings.getInstance().isApiLoggingEnabled()) {
|
||||||
|
NCSARequestLog requestLog = new NCSARequestLog("API-requests.log");
|
||||||
|
requestLog.setAppend(true);
|
||||||
|
requestLog.setExtended(false);
|
||||||
|
requestLog.setLogTimeZone("UTC");
|
||||||
|
requestLog.setLogLatency(true);
|
||||||
|
server.setRequestLog(requestLog);
|
||||||
|
}
|
||||||
|
|
||||||
// IP address based access control
|
// IP address based access control
|
||||||
InetAccessHandler accessHandler = new InetAccessHandler();
|
InetAccessHandler accessHandler = new InetAccessHandler();
|
||||||
for (String pattern : Settings.getInstance().getApiWhitelist()) {
|
for (String pattern : Settings.getInstance().getApiWhitelist()) {
|
||||||
|
@ -43,6 +43,7 @@ public class Settings {
|
|||||||
"::1", "127.0.0.1"
|
"::1", "127.0.0.1"
|
||||||
};
|
};
|
||||||
private Boolean apiRestricted;
|
private Boolean apiRestricted;
|
||||||
|
private boolean apiLoggingEnabled = false;
|
||||||
|
|
||||||
// Specific to this node
|
// Specific to this node
|
||||||
private boolean wipeUnconfirmedOnStart = false;
|
private boolean wipeUnconfirmedOnStart = false;
|
||||||
@ -187,6 +188,10 @@ public class Settings {
|
|||||||
return !BlockChain.getInstance().isTestNet();
|
return !BlockChain.getInstance().isTestNet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isApiLoggingEnabled() {
|
||||||
|
return this.apiLoggingEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getWipeUnconfirmedOnStart() {
|
public boolean getWipeUnconfirmedOnStart() {
|
||||||
return this.wipeUnconfirmedOnStart;
|
return this.wipeUnconfirmedOnStart;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user