Browse Source

Set the default log level of console to error;

tags/1.0.1
huanghaiquan 6 years ago
parent
commit
436022dda6
7 changed files with 94 additions and 151 deletions
  1. +70
    -58
      source/base/src/main/resources/log4j2.xml
  2. +1
    -1
      source/gateway/src/main/resources/log4j2.xml
  3. +21
    -0
      source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerTransactionalEditor.java
  4. +1
    -1
      source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditorTest.java
  5. +1
    -1
      source/peer/src/main/resources/log4j2.xml
  6. +0
    -31
      source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/ExPolicyKVStorage.java
  7. +0
    -59
      source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/VersioningKVStorage.java

+ 70
- 58
source/base/src/main/resources/log4j2.xml View File

@@ -1,62 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出 -->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数 -->
<configuration status="WARN" monitorInterval="60"> <configuration status="WARN" monitorInterval="60">
<!--先定义所有的appender-->
<appenders>
<!--这个输出控制台的配置-->
<console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
<!--输出日志的格式-->
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
</console>
<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用-->
<File name="log" fileName="../logs/test.log" append="false">
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
</File>
<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="PeerRollingInfo" fileName="../logs/peer.out.info.log"
filePattern="../logs/$${date:yyyy-MM}/peer.out.info-%d{yyyy-MM-dd}-%i.log">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
</RollingFile>
<RollingFile name="PeerRollingWarn" fileName="../logs/peer.out.warn.log"
filePattern="../logs/$${date:yyyy-MM}/peer.out.warn-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
<DefaultRolloverStrategy max="20"/>
</RollingFile>
<RollingFile name="PeerRollingError" fileName="../logs/peer.out.error.log"
filePattern="../logs/$${date:yyyy-MM}/peer.out.error-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
</RollingFile>
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
<loggers>
<!--过滤掉spring的一些DEBUG信息-->
<logger name="org.springframework" level="INFO"></logger>
<root level="all">
<appender-ref ref="Console"/>
<appender-ref ref="PeerRollingInfo"/>
<appender-ref ref="PeerRollingWarn"/>
<appender-ref ref="PeerRollingError"/>
</root>
</loggers>
<!--先定义所有的appender -->
<appenders>
<!--这个输出控制台的配置 -->
<console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="error" onMatch="ACCEPT"
onMismatch="DENY" />
<!--输出日志的格式 -->
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</console>
<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用 -->
<File name="log" fileName="../logs/test.log" append="false">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</File>
<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->
<RollingFile name="PeerRollingInfo"
fileName="../logs/peer.out.info.log"
filePattern="../logs/$${date:yyyy-MM}/peer.out.info-%d{yyyy-MM-dd}-%i.log">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="info" onMatch="ACCEPT"
onMismatch="DENY" />
<PatternLayout
pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
</RollingFile>
<RollingFile name="PeerRollingWarn"
fileName="../logs/peer.out.warn.log"
filePattern="../logs/$${date:yyyy-MM}/peer.out.warn-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="warn" onMatch="ACCEPT"
onMismatch="DENY" />
<PatternLayout
pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
<DefaultRolloverStrategy max="20" />
</RollingFile>
<RollingFile name="PeerRollingError"
fileName="../logs/peer.out.error.log"
filePattern="../logs/$${date:yyyy-MM}/peer.out.error-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="error" onMatch="ACCEPT"
onMismatch="DENY" />
<PatternLayout
pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
</RollingFile>
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
<!--过滤掉spring的一些DEBUG信息 -->
<logger name="org.springframework" level="INFO"></logger>
<root level="all">
<appender-ref ref="Console" />
<appender-ref ref="PeerRollingInfo" />
<appender-ref ref="PeerRollingWarn" />
<appender-ref ref="PeerRollingError" />
</root>
</loggers>
</configuration> </configuration>

+ 1
- 1
source/gateway/src/main/resources/log4j2.xml View File

@@ -8,7 +8,7 @@
<!--这个输出控制台的配置--> <!--这个输出控制台的配置-->
<console name="Console" target="SYSTEM_OUT"> <console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--> <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<!--输出日志的格式--> <!--输出日志的格式-->
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
</console> </console>


+ 21
- 0
source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerTransactionalEditor.java View File

@@ -45,6 +45,7 @@ public class LedgerTransactionalEditor implements LedgerEditor {


private boolean committed = false; private boolean committed = false;


// private BufferedKVStorage baseStorage;
private BufferedKVStorage bufferedStorage; private BufferedKVStorage bufferedStorage;


/** /**
@@ -65,6 +66,17 @@ public class LedgerTransactionalEditor implements LedgerEditor {
this.stagedSnapshots.push(startingPoint); this.stagedSnapshots.push(startingPoint);
} }


/**
* 创建账本新区块的编辑器;
*
* @param ledgerHash
* @param ledgerSetting
* @param previousBlock
* @param ledgerKeyPrefix
* @param ledgerExStorage
* @param ledgerVerStorage
* @return
*/
public static LedgerTransactionalEditor createEditor(HashDigest ledgerHash, LedgerSetting ledgerSetting, public static LedgerTransactionalEditor createEditor(HashDigest ledgerHash, LedgerSetting ledgerSetting,
LedgerBlock previousBlock, String ledgerKeyPrefix, ExPolicyKVStorage ledgerExStorage, LedgerBlock previousBlock, String ledgerKeyPrefix, ExPolicyKVStorage ledgerExStorage,
VersioningKVStorage ledgerVerStorage) { VersioningKVStorage ledgerVerStorage) {
@@ -82,6 +94,15 @@ public class LedgerTransactionalEditor implements LedgerEditor {
ledgerKeyPrefix, txStagedStorage); ledgerKeyPrefix, txStagedStorage);
} }


/**
* 创建创世区块的编辑器;
*
* @param initSetting
* @param ledgerKeyPrefix
* @param ledgerExStorage
* @param ledgerVerStorage
* @return
*/
public static LedgerTransactionalEditor createEditor(LedgerInitSetting initSetting, String ledgerKeyPrefix, public static LedgerTransactionalEditor createEditor(LedgerInitSetting initSetting, String ledgerKeyPrefix,
ExPolicyKVStorage ledgerExStorage, VersioningKVStorage ledgerVerStorage) { ExPolicyKVStorage ledgerExStorage, VersioningKVStorage ledgerVerStorage) {
LedgerBlockData genesisBlock = new LedgerBlockData(0, null, null); LedgerBlockData genesisBlock = new LedgerBlockData(0, null, null);


source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditerTest.java → source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditorTest.java View File

@@ -39,7 +39,7 @@ import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.io.BytesUtils; import com.jd.blockchain.utils.io.BytesUtils;
import com.jd.blockchain.utils.net.NetworkAddress; import com.jd.blockchain.utils.net.NetworkAddress;


public class LedgerEditerTest {
public class LedgerEditorTest {


private static final String[] SUPPORTED_PROVIDERS = { ClassicCryptoService.class.getName(), private static final String[] SUPPORTED_PROVIDERS = { ClassicCryptoService.class.getName(),
SMCryptoService.class.getName() }; SMCryptoService.class.getName() };

+ 1
- 1
source/peer/src/main/resources/log4j2.xml View File

@@ -8,7 +8,7 @@
<!--这个输出控制台的配置--> <!--这个输出控制台的配置-->
<console name="Console" target="SYSTEM_OUT"> <console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--> <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<!--输出日志的格式--> <!--输出日志的格式-->
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
</console> </console>


+ 0
- 31
source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/ExPolicyKVStorage.java View File

@@ -10,37 +10,6 @@ import com.jd.blockchain.utils.Bytes;
*/ */
public interface ExPolicyKVStorage extends BatchStorageService{ public interface ExPolicyKVStorage extends BatchStorageService{


// /**
// * 返回“键”对应的“值”;<br>
// * 如果“键”不存在,则返回 null;
// *
// * @param key
// * @return
// */
// byte[] get(String key);
//
// /**
// * 如果满足指定的存在性策略,则创建/更新指定的“键-值”;
// *
// * @param key
// * 键;
// * @param value
// * 值;
// * @param ex
// * 如果指定 {@link ExPolicy#EXISTING} ,则只有键存在时才更新; <br>
// * 如果指定 {@link ExPolicy#NOT_EXISTING} ,则只有键不存在时才更新/创建;
// * @return 如果符合存在性策略,并执行了创建/更新操作,则返回 true,否则返回 false;
// */
// boolean set(String key, byte[] value, ExPolicy ex);
//
// /**
// * 指定的 key 是否存在;
// *
// * @param key
// * @return
// */
// boolean exist(String key);
/** /**
* 返回“键”对应的“值”;<br> * 返回“键”对应的“值”;<br>
* 如果“键”不存在,则返回 null; * 如果“键”不存在,则返回 null;


+ 0
- 59
source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/VersioningKVStorage.java View File

@@ -19,65 +19,6 @@ import com.jd.blockchain.utils.Bytes;
*/ */
public interface VersioningKVStorage extends BatchStorageService { public interface VersioningKVStorage extends BatchStorageService {
// /**
// * Return the latest version entry associated the specified key;
// *
// * If the key doesn't exist, then return -1;
// *
// * @param key
// * @return
// */
// long getVersion(String key);
//
// /**
// * Return the specified verson's entry;<br>
// *
// * It will return the latest one if the version is -1; <br>
// *
// * It will return null if the key or version not exist.
// *
// * @param key
// * @param version
// * @return
// */
// VersioningKVEntry getEntry(String key, long version);
//
// /**
// * Return the specified verson's value; <br>
// *
// * If the specified version of key doesn't exist, then return null;<br>
// *
// * If the version is specified to -1, then return the latest version's
// * value;<br>
// *
// * @param key
// * @param version
// * @return
// */
// byte[] get(String key, long version);
//
// /**
// * Update the value of the key;<br>
// *
// * If key exist, and the specified version equals to latest , then the value is
// * updated and version is increased by 1;<br>
// * If key not exist, and the specified version is -1, then the value will be
// * created and initialized it's version by 0; <br>
// *
// * @param key
// * the key;
// * @param value
// * the new value to update if expected version match the actual
// * version;
// * @param version
// * the latest version expected;
// * @return The latest version entry after setting. <br>
// * If the version checking fail, or concurrent confliction occur, then
// * return -1 as indication. <br>
// */
// long set(String key, byte[] value, long version);
//
/** /**
* Return the latest version entry associated the specified key; * Return the latest version entry associated the specified key;
* *


Loading…
Cancel
Save