Code Snippet

Just another Code Snippet site

Random Post :




[Java] Pattern & Matcher

Pattern pattern = Pattern.compile(REGEXP);
Matcher matcher = pattern.matcher(STRING_TO_TEST);
boolean result = matcher.matches()
  • pattern.matcher – test if the string contains-a pattern
  • pattern.matches – test if the string is-a pattern
  • ,

    [Maven] Generate Source JAR

    	<!-- Maven Source Plugin -->
    	<plugin>
    		<groupId>org.apache.maven.plugins</groupId>
    		<artifactId>maven-source-plugin</artifactId>
    		<version>2.1.2</version>
    		<configuration>
    			<attach>true</attach>
    		</configuration>
    	</plugin>
    

    ,

    [Synology] 3rd Party packages

    http://packages.quadrat4.de

    http://synopkg.superzebulon.org/spkrepo/packages

    http://www.cphub.net/index.php/getpackages.php

    http://packages.synocommunity.com

    http://repo.synozwave.com/

    http://www.cphub.net

    http://packages.pcloadletter.co.uk/

    http://spk.q14six.de/

    ,

    [Logback] Configuration file

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="true" scanPeriod="1 minute" > 
    
    	<!-- #################################################### -->
    	<!-- Properties -->
    	<!-- #################################################### -->
    	<property name="DEFAULT_LOG_LEVEL" value="DEBUG" />
    	
    	<property name="LOG_FOLDER" value="/var/logs/" />
    	<property name="LOG_ARCHIVE_FOLDER" value="/var/logs/ARCHIVE/%d{yyyy/MM, aux}/" />
    	<property name="MAX_LOG_SIZE" value="50MB" />	
     
    	<!-- #################################################### -->
    	<!-- Appenders -->
    	<!-- #################################################### -->
    	<appender name="FILE_1" class="ch.qos.logback.core.rolling.RollingFileAppender">
    		<File>${LOG_FOLDER}/file_1.log</File>
    		<encoder> 
    			<pattern>%d{yyyy-MM-dd HH:mm:ss} [%5p] %C{1}\(%L\) - %m%n</pattern>
    		</encoder>	 
    		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    			<fileNamePattern>${LOG_ARCHIVE_FOLDER}/file_1_%d{yyyyMMdd}.%i.log.gz</fileNamePattern>
    			<cleanHistoryOnStart>false</cleanHistoryOnStart>
    			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    				<maxFileSize>${MAX_LOG_SIZE}</maxFileSize>
    			</timeBasedFileNamingAndTriggeringPolicy>
    		</rollingPolicy>  
    	</appender> 
    	
    	<!-- #################################################### -->
    	<!-- Loggers -->
    	<!-- #################################################### -->
    	<logger name="com" level="${DEFAULT_LOG_LEVEL}" additivity="false">
    		<appender-ref ref="FILE_1"/>
    	</logger>  
    	
    	<!-- Root logger -->
    	<root level="ERROR">
    		<appender-ref ref="FILE_1" />
    	</root>
    
    </configuration>
    

    FILE_1 will be rolled by date and by size.
    Files will be archived into Gzip archive like : /var/logs/ARCHIVE/2015/12/file_1_20150613.%i.log.gz

    A hourly rolling will be defined like this

    <fileNamePattern>${LOG_ARCHIVE_FOLDER}/file_1_%d{yyyyMMdd_HH}.%i.log.gz</fileNamePattern>
    

    Previous Posts Next posts