Small fixes. (#206)
* Logging format tweaks for file logging Signed-off-by: AlexDBlack <blacka101@gmail.com> * Min abs error tweak for Util layer gradient checks Signed-off-by: AlexDBlack <blacka101@gmail.com> * #8648 Fix SameDiff NPE instead of error for missing placeholders Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test runtime reduction Signed-off-by: AlexDBlack <blacka101@gmail.com>
This commit is contained in:
parent
d52e67209e
commit
0756e3fe70
deeplearning4j
deeplearning4j-core/src/test
java/org/deeplearning4j/gradientcheck
CapsnetGradientCheckTest.javaOutputLayerGradientChecks.javaRnnGradientChecks.javaUtilLayerGradientChecks.javaYoloGradientCheckTests.java
resources
deeplearning4j-cuda/src/test/resources
deeplearning4j-nearestneighbors-parent/deeplearning4j-nearestneighbor-server/src/test/resources
deeplearning4j-remote/deeplearning4j-json-server/src/test/resources
deeplearning4j-scaleout
deeplearning4j-scaleout-parallelwrapper-parameter-server/src/test/resources
spark
dl4j-spark-nlp-java8/src/test/resources
dl4j-spark-nlp/src/test/resources
dl4j-spark-parameterserver/src/test/resources
dl4j-spark/src/test/resources
deeplearning4j-ui-parent
deeplearning4j-ui-model/src/test/resources
deeplearning4j-ui-standalone/src/main/resources
deeplearning4j-ui/src/test/resources
deeplearning4j-vertx/src/test/resources
dl4j-integration-tests/src/test/resources
nd4j
nd4j-backends
nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/internal
nd4j-backend-impls/nd4j-native/src/test/resources
nd4j-tests/src/test
nd4j-parameter-server-parent
nd4j-parameter-server-client/src/test/resources
nd4j-parameter-server-node/src/test/resources
nd4j-parameter-server-status/src/test/resources
nd4j-parameter-server/src/test/resources
nd4j-remote/nd4j-json-server/src/test/resources
nd4j-serde/nd4j-aeron/src/test/resources
@ -43,12 +43,6 @@ import java.util.Random;
|
|||||||
|
|
||||||
public class CapsnetGradientCheckTest extends BaseDL4JTest {
|
public class CapsnetGradientCheckTest extends BaseDL4JTest {
|
||||||
|
|
||||||
private static final boolean PRINT_RESULTS = true;
|
|
||||||
private static final boolean RETURN_ON_FIRST_FAILURE = false;
|
|
||||||
private static final double DEFAULT_EPS = 1e-6;
|
|
||||||
private static final double DEFAULT_MAX_REL_ERROR = 1e-3;
|
|
||||||
private static final double DEFAULT_MIN_ABS_ERROR = 1e-8;
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCapsNet() {
|
public void testCapsNet() {
|
||||||
|
|
||||||
|
@ -43,10 +43,6 @@ import static org.junit.Assert.assertTrue;
|
|||||||
public class OutputLayerGradientChecks extends BaseDL4JTest {
|
public class OutputLayerGradientChecks extends BaseDL4JTest {
|
||||||
|
|
||||||
private static final boolean PRINT_RESULTS = true;
|
private static final boolean PRINT_RESULTS = true;
|
||||||
private static final boolean RETURN_ON_FIRST_FAILURE = false;
|
|
||||||
private static final double DEFAULT_EPS = 1e-6;
|
|
||||||
private static final double DEFAULT_MAX_REL_ERROR = 1e-3;
|
|
||||||
private static final double DEFAULT_MIN_ABS_ERROR = 1e-8;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Nd4j.setDataType(DataType.DOUBLE);
|
Nd4j.setDataType(DataType.DOUBLE);
|
||||||
|
@ -47,10 +47,6 @@ import static org.junit.Assert.assertTrue;
|
|||||||
public class RnnGradientChecks extends BaseDL4JTest {
|
public class RnnGradientChecks extends BaseDL4JTest {
|
||||||
|
|
||||||
private static final boolean PRINT_RESULTS = true;
|
private static final boolean PRINT_RESULTS = true;
|
||||||
private static final boolean RETURN_ON_FIRST_FAILURE = false;
|
|
||||||
private static final double DEFAULT_EPS = 1e-6;
|
|
||||||
private static final double DEFAULT_MAX_REL_ERROR = 1e-3;
|
|
||||||
private static final double DEFAULT_MIN_ABS_ERROR = 1e-8;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Nd4j.setDataType(DataType.DOUBLE);
|
Nd4j.setDataType(DataType.DOUBLE);
|
||||||
|
@ -48,12 +48,6 @@ import static org.junit.Assert.assertTrue;
|
|||||||
|
|
||||||
public class UtilLayerGradientChecks extends BaseDL4JTest {
|
public class UtilLayerGradientChecks extends BaseDL4JTest {
|
||||||
|
|
||||||
private static final boolean PRINT_RESULTS = true;
|
|
||||||
private static final boolean RETURN_ON_FIRST_FAILURE = false;
|
|
||||||
private static final double DEFAULT_EPS = 1e-6;
|
|
||||||
private static final double DEFAULT_MAX_REL_ERROR = 1e-3;
|
|
||||||
private static final double DEFAULT_MIN_ABS_ERROR = 1e-6;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Nd4j.setDataType(DataType.DOUBLE);
|
Nd4j.setDataType(DataType.DOUBLE);
|
||||||
}
|
}
|
||||||
@ -182,9 +176,9 @@ public class UtilLayerGradientChecks extends BaseDL4JTest {
|
|||||||
MultiLayerNetwork net = new MultiLayerNetwork(conf);
|
MultiLayerNetwork net = new MultiLayerNetwork(conf);
|
||||||
net.init();
|
net.init();
|
||||||
|
|
||||||
boolean gradOK = GradientCheckUtil.checkGradients(new GradientCheckUtil.MLNConfig().net(net).input(input)
|
boolean gradOK = GradientCheckUtil.checkGradients(new GradientCheckUtil.MLNConfig().net(net)
|
||||||
.minAbsoluteError(1e-7)
|
.minAbsoluteError(1e-6)
|
||||||
.labels(label).inputMask(inMask));
|
.input(input).labels(label).inputMask(inMask));
|
||||||
assertTrue(gradOK);
|
assertTrue(gradOK);
|
||||||
|
|
||||||
TestUtils.testModelSerialization(net);
|
TestUtils.testModelSerialization(net);
|
||||||
@ -233,8 +227,9 @@ public class UtilLayerGradientChecks extends BaseDL4JTest {
|
|||||||
//Test ComputationGraph equivalent:
|
//Test ComputationGraph equivalent:
|
||||||
ComputationGraph g = net.toComputationGraph();
|
ComputationGraph g = net.toComputationGraph();
|
||||||
|
|
||||||
boolean gradOKCG = GradientCheckUtil.checkGradients(new GradientCheckUtil.GraphConfig().net(g).inputs(new INDArray[]{in})
|
boolean gradOKCG = GradientCheckUtil.checkGradients(new GradientCheckUtil.GraphConfig().net(g)
|
||||||
.labels(new INDArray[]{labels}).excludeParams(excludeParams));
|
.minAbsoluteError(1e-6)
|
||||||
|
.inputs(new INDArray[]{in}).labels(new INDArray[]{labels}).excludeParams(excludeParams));
|
||||||
assertTrue(gradOKCG);
|
assertTrue(gradOKCG);
|
||||||
|
|
||||||
TestUtils.testModelSerialization(g);
|
TestUtils.testModelSerialization(g);
|
||||||
|
@ -56,11 +56,6 @@ import static org.junit.Assert.assertTrue;
|
|||||||
* @author Alex Black
|
* @author Alex Black
|
||||||
*/
|
*/
|
||||||
public class YoloGradientCheckTests extends BaseDL4JTest {
|
public class YoloGradientCheckTests extends BaseDL4JTest {
|
||||||
private static final boolean PRINT_RESULTS = true;
|
|
||||||
private static final boolean RETURN_ON_FIRST_FAILURE = false;
|
|
||||||
private static final double DEFAULT_EPS = 1e-6;
|
|
||||||
private static final double DEFAULT_MAX_REL_ERROR = 1e-3;
|
|
||||||
private static final double DEFAULT_MIN_ABS_ERROR = 1e-8;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Nd4j.setDataType(DataType.DOUBLE);
|
Nd4j.setDataType(DataType.DOUBLE);
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
4
deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/src/main/resources/logback.xml
4
deeplearning4j/deeplearning4j-ui-parent/deeplearning4j-ui-standalone/src/main/resources/logback.xml
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ import org.nd4j.autodiff.samediff.SDVariable;
|
|||||||
import org.nd4j.autodiff.samediff.SameDiff;
|
import org.nd4j.autodiff.samediff.SameDiff;
|
||||||
import org.nd4j.autodiff.samediff.VariableType;
|
import org.nd4j.autodiff.samediff.VariableType;
|
||||||
import org.nd4j.base.Preconditions;
|
import org.nd4j.base.Preconditions;
|
||||||
|
import org.nd4j.linalg.api.ndarray.INDArray;
|
||||||
import org.nd4j.linalg.api.ops.impl.controlflow.compat.*;
|
import org.nd4j.linalg.api.ops.impl.controlflow.compat.*;
|
||||||
import org.nd4j.linalg.dataset.api.MultiDataSet;
|
import org.nd4j.linalg.dataset.api.MultiDataSet;
|
||||||
import org.nd4j.linalg.function.Predicate;
|
import org.nd4j.linalg.function.Predicate;
|
||||||
@ -295,9 +296,13 @@ public abstract class AbstractSession<T, O> {
|
|||||||
}
|
}
|
||||||
} else if (es.getType() == ExecType.PLACEHOLDER) {
|
} else if (es.getType() == ExecType.PLACEHOLDER) {
|
||||||
VarId vid = new VarId(es.getName(), OUTER_FRAME, 0, null);
|
VarId vid = new VarId(es.getName(), OUTER_FRAME, 0, null);
|
||||||
nodeOutputs.put(vid, placeholderValues.get(es.getName()));
|
T phVal = placeholderValues == null ? null : placeholderValues.get(es.getName());
|
||||||
|
|
||||||
|
nodeOutputs.put(vid, phVal);
|
||||||
outFrameIter = new FrameIter(OUTER_FRAME, 0, null);
|
outFrameIter = new FrameIter(OUTER_FRAME, 0, null);
|
||||||
if (allRequired.contains(es.getName())) {
|
if (allRequired.contains(es.getName())) {
|
||||||
|
Preconditions.checkState(placeholderValues != null && placeholderValues.containsKey(es.getName()),
|
||||||
|
"No array was provided for the placeholder variable \"%s\" that is required for execution", es.getName());
|
||||||
//User requested placeholder value as one of the outputs
|
//User requested placeholder value as one of the outputs
|
||||||
out.put(es.getName(), placeholderValues.get(es.getName()));
|
out.put(es.getName(), placeholderValues.get(es.getName()));
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.rules.TemporaryFolder;
|
import org.junit.rules.TemporaryFolder;
|
||||||
import org.nd4j.OpValidationSuite;
|
import org.nd4j.OpValidationSuite;
|
||||||
|
import org.nd4j.autodiff.loss.LossReduce;
|
||||||
import org.nd4j.autodiff.samediff.api.OutAndGrad;
|
import org.nd4j.autodiff.samediff.api.OutAndGrad;
|
||||||
import org.nd4j.autodiff.validation.OpValidation;
|
import org.nd4j.autodiff.validation.OpValidation;
|
||||||
import org.nd4j.autodiff.validation.TestCase;
|
import org.nd4j.autodiff.validation.TestCase;
|
||||||
@ -3528,4 +3529,27 @@ public class SameDiffTests extends BaseNd4jTest {
|
|||||||
String s = out.toString();
|
String s = out.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMissingPlaceholderError(){
|
||||||
|
|
||||||
|
SameDiff sd = SameDiff.create();
|
||||||
|
|
||||||
|
int nOut = 4;
|
||||||
|
int minibatch = 10;
|
||||||
|
SDVariable predictions = sd.var("in", DataType.DOUBLE, minibatch, nOut);
|
||||||
|
SDVariable labels = sd.placeHolder("labels", DataType.DOUBLE, -1, nOut);
|
||||||
|
|
||||||
|
LossReduce reduction = LossReduce.MEAN_BY_NONZERO_WEIGHT_COUNT;
|
||||||
|
|
||||||
|
SDVariable loss = sd.loss().absoluteDifference("loss", labels, predictions, null, reduction);
|
||||||
|
|
||||||
|
try {
|
||||||
|
loss.eval();
|
||||||
|
fail("Exception should have been thrown");
|
||||||
|
} catch (IllegalStateException e){
|
||||||
|
String msg = e.getMessage();
|
||||||
|
assertTrue(msg, msg.contains("\"labels\"") && msg.contains("No array was provided"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6935,9 +6935,9 @@ public class Nd4jTestsC extends BaseNd4jTest {
|
|||||||
val arrayY = Nd4j.create(128, 128, 'f');
|
val arrayY = Nd4j.create(128, 128, 'f');
|
||||||
val arrayZ = Nd4j.create(128, 128, 'f');
|
val arrayZ = Nd4j.create(128, 128, 'f');
|
||||||
|
|
||||||
int iterations = 10000;
|
int iterations = 100;
|
||||||
// warmup
|
// warmup
|
||||||
for (int e = 0; e < 1000; e++)
|
for (int e = 0; e < 10; e++)
|
||||||
arrayX.addi(arrayY);
|
arrayX.addi(arrayY);
|
||||||
|
|
||||||
for (int e = 0; e < iterations; e++) {
|
for (int e = 0; e < iterations; e++) {
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>logs/application.log</file>
|
<file>logs/application.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%date - [%level] - from %logger in %thread
|
<pattern> %logger{15} - %message%n%xException{5}
|
||||||
%n%message%n%xException%n</pattern>
|
</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user