Improve logging
- Give means to increase logging verbosity - Explain how to do in the troubleshooting guide
This commit is contained in:
@@ -20,3 +20,6 @@ docker run --rm -e MATRIX_DOMAIN=example.org -v /data/mxisd/etc:/etc/mxisd -v /d
|
|||||||
```
|
```
|
||||||
|
|
||||||
For more info, including the list of possible tags, see [the public repository](https://hub.docker.com/r/kamax/mxisd/)
|
For more info, including the list of possible tags, see [the public repository](https://hub.docker.com/r/kamax/mxisd/)
|
||||||
|
|
||||||
|
## Troubleshoot
|
||||||
|
Please read the [Troubleshooting guide](../troubleshooting.md).
|
@@ -19,6 +19,11 @@ If you use the [Docker image](install/docker.md), this goes to the container log
|
|||||||
|
|
||||||
For any other platform, please refer to your package maintainer.
|
For any other platform, please refer to your package maintainer.
|
||||||
|
|
||||||
|
### Increase verbosity
|
||||||
|
To increase log verbosity and better track issues, the following means are available:
|
||||||
|
- Add the `-v` command line parameter
|
||||||
|
- Use the environment variable and value `MXISD_LOG_LEVEL=debug`
|
||||||
|
|
||||||
### Reading them
|
### Reading them
|
||||||
Before reporting an issue, it is important to produce clean and complete logs so they can be understood.
|
Before reporting an issue, it is important to produce clean and complete logs so they can be understood.
|
||||||
|
|
||||||
|
@@ -36,6 +36,11 @@ public class MxisdStandaloneExec {
|
|||||||
private static final Logger log = LoggerFactory.getLogger("App");
|
private static final Logger log = LoggerFactory.getLogger("App");
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
String logLevel = System.getenv("MXISD_LOG_LEVEL");
|
||||||
|
if (StringUtils.isNotBlank(logLevel)) {
|
||||||
|
System.setProperty("org.slf4j.simpleLogger.log.io.kamax.mxisd", logLevel);
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
MxisdConfig cfg = null;
|
MxisdConfig cfg = null;
|
||||||
Iterator<String> argsIt = Arrays.asList(args).iterator();
|
Iterator<String> argsIt = Arrays.asList(args).iterator();
|
||||||
@@ -46,8 +51,14 @@ public class MxisdStandaloneExec {
|
|||||||
System.out.println(" -h, --help Show this help message");
|
System.out.println(" -h, --help Show this help message");
|
||||||
System.out.println(" --version Print the version then exit");
|
System.out.println(" --version Print the version then exit");
|
||||||
System.out.println(" -c, --config Set the configuration file location");
|
System.out.println(" -c, --config Set the configuration file location");
|
||||||
|
System.out.println(" -v Increase log level (log more info)");
|
||||||
|
System.out.println(" -vv Further increase log level");
|
||||||
System.out.println(" ");
|
System.out.println(" ");
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
|
} else if (StringUtils.equals(arg, "-v")) {
|
||||||
|
System.setProperty("org.slf4j.simpleLogger.log.io.kamax.mxisd", "debug");
|
||||||
|
} else if (StringUtils.equals(arg, "-vv")) {
|
||||||
|
System.setProperty("org.slf4j.simpleLogger.log.io.kamax.mxisd", "trace");
|
||||||
} else if (StringUtils.equalsAny(arg, "-c", "--config")) {
|
} else if (StringUtils.equalsAny(arg, "-c", "--config")) {
|
||||||
String cfgFile = argsIt.next();
|
String cfgFile = argsIt.next();
|
||||||
cfg = YamlConfigLoader.loadFromFile(cfgFile);
|
cfg = YamlConfigLoader.loadFromFile(cfgFile);
|
||||||
@@ -61,13 +72,13 @@ public class MxisdStandaloneExec {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("mxisd starting");
|
|
||||||
log.info("Version: {}", Mxisd.Version);
|
|
||||||
|
|
||||||
if (Objects.isNull(cfg)) {
|
if (Objects.isNull(cfg)) {
|
||||||
cfg = YamlConfigLoader.tryLoadFromFile("mxisd.yaml").orElseGet(MxisdConfig::new);
|
cfg = YamlConfigLoader.tryLoadFromFile("mxisd.yaml").orElseGet(MxisdConfig::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.info("mxisd starting");
|
||||||
|
log.info("Version: {}", Mxisd.Version);
|
||||||
|
|
||||||
HttpMxisd mxisd = new HttpMxisd(cfg);
|
HttpMxisd mxisd = new HttpMxisd(cfg);
|
||||||
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
||||||
mxisd.stop();
|
mxisd.stop();
|
||||||
|
@@ -69,16 +69,16 @@ public class RegisterConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<String> buildPatterns(List<String> domains) {
|
private List<String> buildPatterns(List<String> domains) {
|
||||||
log.info("Building email policy");
|
log.debug("Building email policy");
|
||||||
return domains.stream().map(d -> {
|
return domains.stream().map(d -> {
|
||||||
if (StringUtils.startsWith(d, "*")) {
|
if (StringUtils.startsWith(d, "*")) {
|
||||||
log.info("Found domain and subdomain policy");
|
log.debug("Found domain and subdomain policy");
|
||||||
d = "(.*)" + d.substring(1);
|
d = "(.*)" + d.substring(1);
|
||||||
} else if (StringUtils.startsWith(d, ".")) {
|
} else if (StringUtils.startsWith(d, ".")) {
|
||||||
log.info("Found subdomain-only policy");
|
log.debug("Found subdomain-only policy");
|
||||||
d = "(.*)" + d;
|
d = "(.*)" + d;
|
||||||
} else {
|
} else {
|
||||||
log.info("Found domain-only policy");
|
log.debug("Found domain-only policy");
|
||||||
}
|
}
|
||||||
|
|
||||||
return "([^@]+)@" + d.replace(".", "\\.");
|
return "([^@]+)@" + d.replace(".", "\\.");
|
||||||
@@ -175,10 +175,10 @@ public class RegisterConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void build() {
|
public void build() {
|
||||||
log.info("--- Registration config ---");
|
log.debug("--- Registration config ---");
|
||||||
|
|
||||||
log.info("Before Build");
|
log.debug("Before Build");
|
||||||
log.info(GsonUtil.getPrettyForLog(this));
|
log.debug(GsonUtil.getPrettyForLog(this));
|
||||||
|
|
||||||
new HashMap<>(getPolicy().getThreepid()).forEach((medium, policy) -> {
|
new HashMap<>(getPolicy().getThreepid()).forEach((medium, policy) -> {
|
||||||
if (ThreePidMedium.Email.is(medium)) {
|
if (ThreePidMedium.Email.is(medium)) {
|
||||||
@@ -194,8 +194,8 @@ public class RegisterConfig {
|
|||||||
getPolicy().getThreepid().put(medium, policy);
|
getPolicy().getThreepid().put(medium, policy);
|
||||||
});
|
});
|
||||||
|
|
||||||
log.info("After Build");
|
log.debug("After Build");
|
||||||
log.info(GsonUtil.getPrettyForLog(this));
|
log.debug(GsonUtil.getPrettyForLog(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,2 +1,4 @@
|
|||||||
org.slf4j.simpleLogger.logFile=System.out
|
org.slf4j.simpleLogger.logFile=System.out
|
||||||
org.slf4j.simpleLogger.log.org.xnio=warn
|
org.slf4j.simpleLogger.log.org.xnio=warn
|
||||||
|
org.slf4j.simpleLogger.log.com.j256.ormlite.table.TableUtils=warn
|
||||||
|
org.slf4j.simpleLogger.log.com.mchange.v2.log.MLog=warn
|
||||||
|
Reference in New Issue
Block a user