Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions src/main/java/ja/workshops/hibernate/parts/log_solution/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package ja.workshops.hibernate.parts.log_solution;

import ja.workshops.hibernate.parts.connectors.H2Connector;
import ja.workshops.hibernate.parts.model.Author;
import ja.workshops.hibernate.parts.model.Book;
import ja.workshops.hibernate.parts.model.Genre;
import org.hibernate.Session;
import org.hibernate.Transaction;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

/**
* Implementation of solution for log task.
* Main goal was to create log4j2.xml file with config of log4j2.xml
* which you can find in hiber/src/main/resources/log4j2.xml
*
* @author krzysztof.niedzielski
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Publiczna klasa bez dokumentacji

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dokumentacja została dodana

*/
public class App {
public static void main(String[] args) {
connect();
}

private static void connect() {
try (Session session = new H2Connector().getSession()) {
Transaction transaction = session.beginTransaction();

Author brzechwa = new Author("Jan", "Brzechwa");
Author kupajki = new Author("Bartosz", "Kupajski");
Author wrupek = new Author("Wiktor", "Wrupek");
Set<Author> authors = new HashSet<>();
authors.add(wrupek);
authors.add(brzechwa);
authors.add(kupajki);

Book book1 = new Book("w pustyni i w puszczy", Collections.singleton(brzechwa), Genre.CLASSIC);
Book book2 = new Book("angular in 5 minutes", authors, Genre.CLASSIC);
Book book3 = new Book("todo list - html js", Collections.singleton(wrupek), Genre.CLASSIC);
session.save(book1);
session.save(book2);
session.save(book3);
session.save(brzechwa);
session.save(kupajki);
session.save(wrupek);

transaction.commit();
}
}
}
45 changes: 45 additions & 0 deletions src/main/resources/log4j2.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>

<!-- Console Appender -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n" />
</Console>

<!-- File Appender -->
<File name="File" fileName="logs/app.log">
<PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n" />
</File>

</Appenders>
<Loggers>
<!-- Log everything in hibernate -->
<Logger name="org.hibernate" level="info" additivity="false">
<AppenderRef ref="Console" />
</Logger>

<!-- Log SQL statements -->
<Logger name="org.hibernate.SQL" level="debug" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>

<!-- Log JDBC bind parameters -->
<Logger name="org.hibernate.type.descriptor.sql" level="trace" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>

<!-- Log custom packages -->
<Logger name="com.boraji.tutorial.hibernate" level="debug" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>

<Root level="error">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Root>
</Loggers>
</Configuration>