Плагин обработки коллекции
<dependency>
<groupId>com.wangshouyu</groupId>
<artifactId>wsy-plugins</artifactId>
<version>${lastest.version}</version>
</dependency>
Медленный метод журнала — это журнал, который автоматически запускается при выполнении метода, если время выполнения превышает установленный порог. По умолчанию система автоматически запускает печать журнала уровня warn. Содержание журнала: «имя метода выполнения, execTime: xxxms». В этом приложении принцип реализации заключается в использовании AOP для сканирования аннотаций, чтобы определить, какие классы должны регистрировать медленные методы.
Достаточно добавить @EnableSlowMethodAopLog к классу запуска.
@EnableSlowMethodAopLog
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Просто добавьте @AopSlowMethodLog к методу класса, который должен регистрировать медленный метод.
@AopSlowMethodLog(value=3000,logLevel=LogLevel.ERROR,printLog=true)
@RestController
public class AopSlowLogController{
}
По умолчанию выполнение более 1000 мс считается медленным методом. Можно установить индивидуальное время ожидания с помощью @AopSlowMethodLog (value = 3000). Если вы добавите @AopSlowMethodLog (значение = 5000) к методу, то оценка будет основана на 5000 мс.
По умолчанию уровень журнала равен warn. Вы можете установить индивидуальный уровень журнала с помощью @AopSlowMethodLog (logLevel = LogLevel.ERROR). Если вы добавите @AopSlowMethodLog (logLevel = LogLevel.INFO) к методу, тогда этот метод будет регистрироваться только на уровне INFO.
По умолчанию добавление @AopSlowMethodLog включает регистрацию журнала. Вы можете отключить регистрацию журнала, установив @AopSlowMethodLog (printLog = false). Если вы добавите @AopSlowMethodLog (printLog = true) к методу, только этот метод будет иметь журнал.
Журнал запросов содержит информацию о способе запроса, адресе запроса, параметрах запроса, IP-адресе доступа и информации о методе запроса. Реализация осуществляется путём обнаружения @RestController для реализации общей функции перехвата журнала.
@EnableRequestAopLog
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}}
Необходимо добавить аннотацию @AopRequestLog к требуемому методу.
@AopRequestLog(args={"orderId"})
public String pay(String orderId, String uid){
return null;
}
Этот метод отображает только информацию об orderId и не отображает информацию об uid в журнале.
@AopRequestLog(printResult=flase)
public String pay(String orderId, String uid){
return null;
}
Установка printResult = false в методе, который необходимо настроить, автоматически предотвращает запись возвращаемого значения.
@AopRequestLog(logLevel=LogLevel.DEBUG)
public String pay(String orderId, String uid){
return null;
}
Установив logLevel, можно настроить уровень журнала для печати.
Когда аннотация @AopRequestLog применяется к классу, только logLevel и printResult будут иметь эффект.
@EnableAopLog
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}}
Существует стандартная реализация печати журнала DefaultLogPrint. Вы можете реализовать пользовательскую печать, реализовав интерфейс LogPrint.
public class MyLogPrint implements LogPrint {
@Override
public void request(LogLevel logLevel, Method method, Object[] arguments, String[] parameterNames) {
}
@Override
public void result(LogLevel logLevel, Object object) {
}
@Override
public void slow(LogLevel logLevel, String method, Long execTime) {
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )