Skip to content

Instantly share code, notes, and snippets.

@iamitshri
Created December 10, 2018 02:44
Show Gist options
  • Save iamitshri/073e83ea85eb01143eae890961bf68e9 to your computer and use it in GitHub Desktop.
Save iamitshri/073e83ea85eb01143eae890961bf68e9 to your computer and use it in GitHub Desktop.
Using stopwatch from package org.apache.commons.lang3.time
package com.amit;
import org.apache.commons.lang3.time.StopWatch;
import lombok.extern.slf4j.Slf4j;
/**
* Hello world!
*
*/
@Slf4j
public class App {
public static void main(String[] args) throws InterruptedException {
log.debug("Hello World!");
StopWatch stopwatch = new StopWatch();
stopwatch.start();
Thread.sleep(1000l);
stopwatch.split();
final long splitTime1 = stopwatch.getSplitTime();
log.debug("time spent {}, split time:{}", stopwatch.toSplitString(), stopwatch.toSplitString());
Thread.sleep(1000l);
stopwatch.split();
log.debug("split time {}: Time since last split: {}", stopwatch.toSplitString(),
(stopwatch.getSplitTime() - splitTime1));
Thread.sleep(1000l);
stopwatch.stop();
log.debug("Total time spent {}", stopwatch.getTime());
}
}
@iamitshri
Copy link
Author

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.amit</groupId>
	<artifactId>quick-java-experiments</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>quick-java-experiments</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.8.1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.4</version>
			<scope>provided</scope>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.11.1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-slf4j-impl</artifactId>
			<version>2.11.1</version>
		</dependency>


		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

@iamitshri
Copy link
Author

log4j2.properties

name=PropertiesConfig
property.filename = logs
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
loggers=file
logger.file.name=guru.springframework.blog.log4j2properties
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment