我当前的构建。Gradle如下所示:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.7.BUILD-SNAPSHOT'
}
}
plugins {
id "org.springframework.boot" version "1.5.7.RELEASE"
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
war {
baseName = 'CprUI'
version = '1.0.0-SNAPSHOT'
}
repositories {
mavenLocal()
mavenCentral()
jcenter()
maven { url "http://repo.spring.io/libs-snapshot" }
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("org.springframework.boot:spring-boot-starter-security")
compile("org.springframework.ldap:spring-ldap-core")
compile("org.springframework.security:spring-security-ldap")
compile("org.springframework:spring-tx")
compile("com.unboundid:unboundid-ldapsdk")
compile("org.springframework.boot:spring-boot-starter-log4j2")
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '1.5.7.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.5.7.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-parent', version: '1.5.7.RELEASE', ext: 'pom'
compile("com.oracle:ojdbc6:11.2.0.3")
compile("org.apache.any23:apache-any23-encoding:2.0")
compile("org.apache.commons:commons-csv:1.5")
compile group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity4', version: '3.0.2.RELEASE'
compile("org.springframework.boot:spring-boot-starter-web")
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
testCompile("org.springframework.boot:spring-boot-starter-test")
testCompile("org.springframework.security:spring-security-test")
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.7'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.7'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version: '2.3.1.RELEASE'
compile group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.7.0'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.20'
compile group: 'org.apache.maven.plugins', name: 'maven-compiler-plugin', version: '3.8.1'
}
configurations.all {
exclude module: 'spring-boot-starter-logging'
exclude module: 'logback-classic'
}
appenders = console, db
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.db.type = JDBC
appender.db.name = JDBC
appender.db.layout.type = PatternLayout
appender.db.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.db.connectionSource.type= DriverManager
appender.db.connectionSource.connectionString = my_connection_string
appender.db.connectionSource.username = my_username
appender.db.connectionSource.password = my_password
appender.db.connectionSource.driverClassName = oracle.jdbc.driver.OracleDriver
appender.db.tableName = GDPR_LOG
appender.db.columnConfigs[0].type = Column
appender.db.columnConfigs[0].name = OPERATION_DESCRIPTION
appender.db.columnConfigs[0].pattern =%msg
appender.db.columnConfigs[0].isUnicode =false
logger.db.name = eu.unicredit.mtr.cpr.logging
logger.db.level = debug
logger.db.additivity = false
logger.db.appenderRef.db.ref = JDBC
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
# LOGGING
logging.level.org.hibernate.SQLQuery=debug
logging.level.org.hibernate.type.descriptor.sql=trace
logging.level.org.springframework.web=${LOG_LEVEL_SPRING:info}
logging.level.org.hibernate=${LOG_LEVEL_SPRING:debug}
logging.level.web=${LOG_LEVEL_SPRING:info}
logging.config=classpath:log4j2.properties
spring.datasource.url=my_datasource
spring.datasource.username=my_user
spring.datasource.password=my_password
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
server.context-path=/CprUI
@Entity
@Table(name = "GDPR_LOG")
public class Log {
@Id
@SequenceGenerator(name="DWH_ID_SEQ_GEN", sequenceName="DIM_CPR_COUNTERPARTY_ID", allocationSize=10)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DWH_ID_SEQ_GEN")
@Column(name = "ITEM_ID")
private Long id;
@Column(name = "CREATION_TIME")
private String creation_time;
@Column(name = "LOG_ID")
private String log_id;
@Column(name = "USER_ID")
private String user_id;
@Column(name = "WORKSTATION_ID")
private String workstation_id;
@Column(name = "SESSION_ID")
private String session_id;
@Column(name = "OPERATION_DESCRIPTION")
private String operation_description;
@Column(name = "APPLICATION_CODE")
private String app_code;
@Column(name = "LEGAL_ENTITY")
private String entity;
//getters, setters
@Transactional
public void saveLogForGetAll(Log log) {
log.setCreation_time(formatDateTime);
log.setLog_id("SecLog");
log.setUser_id(checkUser());
log.setWorkstation_id(checkIP());
log.setSession_id(session_string);
log.setApp_code("QRP");
log.setEntity("AG");
logsRepository.save(log);
}
提前谢了。
干杯!
你混合了两个不同的概念。要么让log4j将日志记录事件写入数据库,要么实现自己的与log4j无关的记录器。
第1部分显示您将使用log4j。好吧。但是您不需要使用相同表的JPA实体。类Log
和方法SaveLogForgetAll(Log Log)
并不需要。Log4j将日志记录事件保存到数据库中。
log4j的思想是,代码不应该知道日志事件将如何持久化(在文件系统中、数据库中、通过消息队列可到达的远程设备中,等等)
在中有一个,可以将日志写入到。 我需要在中使用相同的功能,但我还没有找到这样做的选项。有人知道如何使用实现同样的效果吗?
我在我的项目中使用log4j。我想有标准输出、调试记录器和最终报告记录器。调试记录器几乎写调试/信息级别的消息。报告将是不同的记录器,只写信息消息。我尝试了不同的方法,阅读了很多示例,我仍然无法解决这个问题。要么我丢失了我的标准输出,要么我将所有调试写入两个记录器。 我的密码在这里 } 任何提示都将不胜感激
我正在Servlet 3.0和Tomcat中做一个简单的演示项目 我接受邮递员的JSON请求并提供JSON响应。 现在我也想在我的项目中做日志记录。 所以我使用log4j2 罐子使用:- log4j-1.2.12.jar, jackson-databind-2.6.3.jar, jackson-core-2.6.3.jar Servlet代码:- 我的项目目录:- 我的log4j。xml 当我在e
我正在从事一个Spring Hibernate项目,其中包含Spring AMQP RabbitMQ消息传递实现。rabbitmq配置位于一个单独的xml中,该xml被导入到根应用程序上下文中。rabbitmq侦听器接收器每秒轮询一次队列。重要的日志消息被大量的调试级轮询消息隐藏在日志文件中。 有没有办法将轮询日志分离到另一个文件中,或者阻止它污染日志? 我使用log4j进行日志记录;配置如下。
我已经将log4j2.properties文件与springboot应用程序一起使用。正在创建日志文件,但日志未写入该文件。 日志出现在控制台,但没有写入文件,因为我没有得到问题。 奇怪的是,父包记录器“logger Enabled:Enting main\n\n”被写入文件,而另一个父包记录器“****演示应用程序启动*****”没有被写入文件,如上面的代码所示。并且还检查了子包,即记录器,甚至
我正在使用带有log4j2的Spring Boot1.5.9,当我测试日志记录功能时,创建了日志文件,但没有将日志写入其中,而控制台日志记录程序运行良好。请在pom.xml&log4j2.properties配置下面找到。 log4j2.properties文件:
问题内容: 此代码是否同时写入日志文件和控制台? 问题答案: 不,它不会同时写入两者。只会写入控制台。关于原始代码的简短说明。我想您在某处定义,但是代码仍然不正确。您需要在语句中使用引号,例如: 因为我认为您是要附加到文件中。否则,您的代码将抛出一个因为未定义的变量。 但是,正如其他人所说,您应该强烈考虑使用日志记录模块。这是一个如何同时写入控制台和日志文件的简单示例。该代码部分源自此处和此处:
我在Spring Boot应用程序中使用log4j2来简化日志记录。这是我的配置log4j2-dev.xml 我在项目中的基本类 以下是我如何编写日志: 它在正常情况下工作正常。但是,如果我使用Jmetter发送大量请求(总计:7996,平均:98条消息/秒),我会发现日志记录速度太慢,在停止发送请求大约1.5分钟后,日志记录仍在继续,日志文件的容量仍在增加。 我已经搜索了很多,但仍然不知道如何加