Browse Source

日志链路追踪

pull/1/head
马府强 2 years ago
parent
commit
f786ab6b5f
  1. 8
      logtrace/.idea/.gitignore
  2. 1
      logtrace/.idea/.name
  3. 22
      logtrace/.idea/compiler.xml
  4. 7
      logtrace/.idea/encodings.xml
  5. 20
      logtrace/.idea/jarRepositories.xml
  6. 13
      logtrace/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml
  7. 13
      logtrace/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml
  8. 13
      logtrace/.idea/libraries/Maven__cn_afterturn_easypoi_annotation_4_1_0.xml
  9. 13
      logtrace/.idea/libraries/Maven__com_alibaba_transmittable_thread_local_2_14_2.xml
  10. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
  11. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml
  12. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_3.xml
  13. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_3.xml
  14. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_3.xml
  15. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_3.xml
  16. 13
      logtrace/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_3.xml
  17. 13
      logtrace/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml
  18. 13
      logtrace/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
  19. 13
      logtrace/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml
  20. 13
      logtrace/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
  21. 13
      logtrace/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml
  22. 13
      logtrace/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml
  23. 13
      logtrace/.idea/libraries/Maven__junit_junit_4_13_1.xml
  24. 13
      logtrace/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_8.xml
  25. 13
      logtrace/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml
  26. 13
      logtrace/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml
  27. 13
      logtrace/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml
  28. 13
      logtrace/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml
  29. 13
      logtrace/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml
  30. 13
      logtrace/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_33.xml
  31. 13
      logtrace/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_33.xml
  32. 13
      logtrace/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_33.xml
  33. 13
      logtrace/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
  34. 13
      logtrace/.idea/libraries/Maven__org_assertj_assertj_core_3_13_2.xml
  35. 13
      logtrace/.idea/libraries/Maven__org_hamcrest_hamcrest_2_1.xml
  36. 13
      logtrace/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_1.xml
  37. 13
      logtrace/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml
  38. 13
      logtrace/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
  39. 13
      logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml
  40. 13
      logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml
  41. 13
      logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml
  42. 13
      logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml
  43. 13
      logtrace/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_5_2.xml
  44. 13
      logtrace/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_5_2.xml
  45. 13
      logtrace/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_5_2.xml
  46. 13
      logtrace/.idea/libraries/Maven__org_mockito_mockito_core_3_1_0.xml
  47. 13
      logtrace/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml
  48. 13
      logtrace/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml
  49. 13
      logtrace/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
  50. 13
      logtrace/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml
  51. 13
      logtrace/.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml
  52. 13
      logtrace/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml
  53. 13
      logtrace/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml
  54. 13
      logtrace/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml
  55. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_2_6_RELEASE.xml
  56. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_6_RELEASE.xml
  57. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_2_6_RELEASE.xml
  58. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_2_6_RELEASE.xml
  59. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_2_6_RELEASE.xml
  60. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_2_6_RELEASE.xml
  61. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_6_RELEASE.xml
  62. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_2_6_RELEASE.xml
  63. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_2_6_RELEASE.xml
  64. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_2_6_RELEASE.xml
  65. 13
      logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_6_RELEASE.xml
  66. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_aop_5_2_5_RELEASE.xml
  67. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_beans_5_2_5_RELEASE.xml
  68. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_context_5_2_5_RELEASE.xml
  69. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_core_5_2_5_RELEASE.xml
  70. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_expression_5_2_5_RELEASE.xml
  71. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_5_RELEASE.xml
  72. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_test_5_2_5_RELEASE.xml
  73. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_web_5_2_5_RELEASE.xml
  74. 13
      logtrace/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_5_RELEASE.xml
  75. 13
      logtrace/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_4.xml
  76. 13
      logtrace/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml
  77. 9
      logtrace/.idea/logtrace.iml
  78. 12
      logtrace/.idea/misc.xml
  79. 9
      logtrace/.idea/modules.xml
  80. 100
      logtrace/logtrace/ExportExcelData.iml
  81. 46
      logtrace/logtrace/README.md
  82. 72
      logtrace/logtrace/pom.xml
  83. 22
      logtrace/logtrace/src/main/java/com/wm/file/ExportExcelDataApplication.java
  84. 36
      logtrace/logtrace/src/main/java/com/wm/file/config/MyThreadPoolTaskExecutor.java
  85. 76
      logtrace/logtrace/src/main/java/com/wm/file/config/ThreadMdcUtil.java
  86. 42
      logtrace/logtrace/src/main/java/com/wm/file/config/ThreadPoolConfig.java
  87. 28
      logtrace/logtrace/src/main/java/com/wm/file/config/WebConfigurerAdapter.java
  88. 39
      logtrace/logtrace/src/main/java/com/wm/file/controller/ApiController.java
  89. 40
      logtrace/logtrace/src/main/java/com/wm/file/intecepter/LogInterceptor.java
  90. 7
      logtrace/logtrace/src/main/java/com/wm/file/service/OrderService.java
  91. 38
      logtrace/logtrace/src/main/java/com/wm/file/service/OrderServiceImpl.java
  92. 4
      logtrace/logtrace/src/main/resources/application.yml
  93. 34
      logtrace/logtrace/src/main/resources/logback-spring.xml
  94. 73
      logtrace/logtrace/src/test/java/com/wm/file/TestDemo.java

8
logtrace/.idea/.gitignore

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/../../../../:\java project\MultithreadedExportExcelData-master\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

1
logtrace/.idea/.name

@ -0,0 +1 @@
ExportExcelData

22
logtrace/.idea/compiler.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="ExportExcelData" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="ExportExcelData" target="1.8" />
</bytecodeTargetLevel>
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="ExportExcelData" options="-parameters" />
</option>
</component>
</project>

7
logtrace/.idea/encodings.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/logtrace/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/logtrace/src/main/resources" charset="UTF-8" />
</component>
</project>

20
logtrace/.idea/jarRepositories.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

13
logtrace/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-classic:1.2.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-core:1.2.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__cn_afterturn_easypoi_annotation_4_1_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: cn.afterturn:easypoi-annotation:4.1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/cn/afterturn/easypoi-annotation/4.1.0/easypoi-annotation-4.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/cn/afterturn/easypoi-annotation/4.1.0/easypoi-annotation-4.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/cn/afterturn/easypoi-annotation/4.1.0/easypoi-annotation-4.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_alibaba_transmittable_thread_local_2_14_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.alibaba:transmittable-thread-local:2.14.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/alibaba/transmittable-thread-local/2.14.2/transmittable-thread-local-2.14.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/alibaba/transmittable-thread-local/2.14.2/transmittable-thread-local-2.14.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/alibaba/transmittable-thread-local/2.14.2/transmittable-thread-local-2.14.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml:classmate:1.5.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-annotations/2.10.3/jackson-annotations-2.10.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-annotations/2.10.3/jackson-annotations-2.10.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-annotations/2.10.3/jackson-annotations-2.10.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-core/2.10.3/jackson-core-2.10.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-core/2.10.3/jackson-core-2.10.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-core/2.10.3/jackson-core-2.10.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-databind/2.10.3/jackson-databind-2.10.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-databind/2.10.3/jackson-databind-2.10.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/core/jackson-databind/2.10.3/jackson-databind-2.10.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.3/jackson-datatype-jdk8-2.10.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.3/jackson-datatype-jdk8-2.10.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.3/jackson-datatype-jdk8-2.10.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.3/jackson-datatype-jsr310-2.10.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.3/jackson-datatype-jsr310-2.10.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.3/jackson-datatype-jsr310-2.10.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.10.3/jackson-module-parameter-names-2.10.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.10.3/jackson-module-parameter-names-2.10.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.10.3/jackson-module-parameter-names-2.10.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.jayway.jsonpath:json-path:2.4.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: jakarta.activation:jakarta.activation-api:1.2.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: jakarta.validation:jakarta.validation-api:2.0.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__junit_junit_4_13_1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: junit:junit:4.13.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/junit/junit/4.13.1/junit-4.13.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/junit/junit/4.13.1/junit-4.13.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/junit/junit/4.13.1/junit-4.13.1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_8.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: net.bytebuddy:byte-buddy:1.10.8">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/net/bytebuddy/byte-buddy/1.10.8/byte-buddy-1.10.8.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/net/bytebuddy/byte-buddy/1.10.8/byte-buddy-1.10.8-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/net/bytebuddy/byte-buddy/1.10.8/byte-buddy-1.10.8-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: net.bytebuddy:byte-buddy-agent:1.10.8">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/net/bytebuddy/byte-buddy-agent/1.10.8/byte-buddy-agent-1.10.8.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/net/bytebuddy/byte-buddy-agent/1.10.8/byte-buddy-agent-1.10.8-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/net/bytebuddy/byte-buddy-agent/1.10.8/byte-buddy-agent-1.10.8-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: net.minidev:accessors-smart:1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: net.minidev:json-smart:2.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/net/minidev/json-smart/2.3/json-smart-2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/net/minidev/json-smart/2.3/json-smart-2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/net/minidev/json-smart/2.3/json-smart-2.3-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.logging.log4j:log4j-api:2.12.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_33.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.33">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.33/tomcat-embed-core-9.0.33.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.33/tomcat-embed-core-9.0.33-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.33/tomcat-embed-core-9.0.33-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_33.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.33">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.33/tomcat-embed-el-9.0.33.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.33/tomcat-embed-el-9.0.33-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.33/tomcat-embed-el-9.0.33-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_33.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.33/tomcat-embed-websocket-9.0.33.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.33/tomcat-embed-websocket-9.0.33-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.33/tomcat-embed-websocket-9.0.33-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apiguardian:apiguardian-api:1.1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_assertj_assertj_core_3_13_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.assertj:assertj-core:3.13.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/assertj/assertj-core/3.13.2/assertj-core-3.13.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/assertj/assertj-core/3.13.2/assertj-core-3.13.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/assertj/assertj-core/3.13.2/assertj-core-3.13.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_hamcrest_hamcrest_2_1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.hamcrest:hamcrest:2.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/hamcrest/hamcrest/2.1/hamcrest-2.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/hamcrest/hamcrest/2.1/hamcrest-2.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/hamcrest/hamcrest/2.1/hamcrest-2.1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_1.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.hamcrest:hamcrest-core:2.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/hamcrest/hamcrest-core/2.1/hamcrest-core-2.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/hamcrest/hamcrest-core/2.1/hamcrest-core-2.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/hamcrest/hamcrest-core/2.1/hamcrest-core-2.1-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/hibernate/validator/hibernate-validator/6.0.18.Final/hibernate-validator-6.0.18.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/hibernate/validator/hibernate-validator/6.0.18.Final/hibernate-validator-6.0.18.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/hibernate/validator/hibernate-validator/6.0.18.Final/hibernate-validator-6.0.18.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.jupiter:junit-jupiter:5.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter/5.5.2/junit-jupiter-5.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter/5.5.2/junit-jupiter-5.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter/5.5.2/junit-jupiter-5.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-api/5.5.2/junit-jupiter-api-5.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-api/5.5.2/junit-jupiter-api-5.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-api/5.5.2/junit-jupiter-api-5.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-engine/5.5.2/junit-jupiter-engine-5.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-engine/5.5.2/junit-jupiter-engine-5.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-engine/5.5.2/junit-jupiter-engine-5.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-params/5.5.2/junit-jupiter-params-5.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-params/5.5.2/junit-jupiter-params-5.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/jupiter/junit-jupiter-params/5.5.2/junit-jupiter-params-5.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.platform:junit-platform-commons:1.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/platform/junit-platform-commons/1.5.2/junit-platform-commons-1.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/platform/junit-platform-commons/1.5.2/junit-platform-commons-1.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/platform/junit-platform-commons/1.5.2/junit-platform-commons-1.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.platform:junit-platform-engine:1.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/platform/junit-platform-engine/1.5.2/junit-platform-engine-1.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/platform/junit-platform-engine/1.5.2/junit-platform-engine-1.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/platform/junit-platform-engine/1.5.2/junit-platform-engine-1.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_5_2.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.junit.vintage:junit-vintage-engine:5.5.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/vintage/junit-vintage-engine/5.5.2/junit-vintage-engine-5.5.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/vintage/junit-vintage-engine/5.5.2/junit-vintage-engine-5.5.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/junit/vintage/junit-vintage-engine/5.5.2/junit-vintage-engine-5.5.2-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_mockito_mockito_core_3_1_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.mockito:mockito-core:3.1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/mockito/mockito-core/3.1.0/mockito-core-3.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/mockito/mockito-core/3.1.0/mockito-core-3.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/mockito/mockito-core/3.1.0/mockito-core-3.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.mockito:mockito-junit-jupiter:3.1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/mockito/mockito-junit-jupiter/3.1.0/mockito-junit-jupiter-3.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/mockito/mockito-junit-jupiter/3.1.0/mockito-junit-jupiter-3.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/mockito/mockito-junit-jupiter/3.1.0/mockito-junit-jupiter-3.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.objenesis:objenesis:2.6">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/objenesis/objenesis/2.6/objenesis-2.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/objenesis/objenesis/2.6/objenesis-2.6-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.opentest4j:opentest4j:1.2.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.ow2.asm:asm:5.0.4">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/ow2/asm/asm/5.0.4/asm-5.0.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/ow2/asm/asm/5.0.4/asm-5.0.4-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.projectlombok:lombok:1.18.24">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.skyscreamer:jsonassert:1.5.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.slf4j:jul-to-slf4j:1.7.30">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.30">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-json/2.2.6.RELEASE/spring-boot-starter-json-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-json/2.2.6.RELEASE/spring-boot-starter-json-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-json/2.2.6.RELEASE/spring-boot-starter-json-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-test/2.2.6.RELEASE/spring-boot-starter-test-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-test/2.2.6.RELEASE/spring-boot-starter-test-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-test/2.2.6.RELEASE/spring-boot-starter-test-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-tomcat/2.2.6.RELEASE/spring-boot-starter-tomcat-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-tomcat/2.2.6.RELEASE/spring-boot-starter-tomcat-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-tomcat/2.2.6.RELEASE/spring-boot-starter-tomcat-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-validation/2.2.6.RELEASE/spring-boot-starter-validation-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-validation/2.2.6.RELEASE/spring-boot-starter-validation-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-validation/2.2.6.RELEASE/spring-boot-starter-validation-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-web/2.2.6.RELEASE/spring-boot-starter-web-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-web/2.2.6.RELEASE/spring-boot-starter-web-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-starter-web/2.2.6.RELEASE/spring-boot-starter-web-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-test:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-test/2.2.6.RELEASE/spring-boot-test-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-test/2.2.6.RELEASE/spring-boot-test-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-test/2.2.6.RELEASE/spring-boot-test-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_6_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.6.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-test-autoconfigure/2.2.6.RELEASE/spring-boot-test-autoconfigure-2.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-test-autoconfigure/2.2.6.RELEASE/spring-boot-test-autoconfigure-2.2.6.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/boot/spring-boot-test-autoconfigure/2.2.6.RELEASE/spring-boot-test-autoconfigure-2.2.6.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_aop_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-aop:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-aop/5.2.5.RELEASE/spring-aop-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-aop/5.2.5.RELEASE/spring-aop-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-aop/5.2.5.RELEASE/spring-aop-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_beans_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-beans:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-beans/5.2.5.RELEASE/spring-beans-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-beans/5.2.5.RELEASE/spring-beans-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-beans/5.2.5.RELEASE/spring-beans-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_context_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-context:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-context/5.2.5.RELEASE/spring-context-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-context/5.2.5.RELEASE/spring-context-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-context/5.2.5.RELEASE/spring-context-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_core_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-core:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-core/5.2.5.RELEASE/spring-core-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-core/5.2.5.RELEASE/spring-core-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-core/5.2.5.RELEASE/spring-core-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_expression_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-expression:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-expression/5.2.5.RELEASE/spring-expression-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-expression/5.2.5.RELEASE/spring-expression-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-expression/5.2.5.RELEASE/spring-expression-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-jcl:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-jcl/5.2.5.RELEASE/spring-jcl-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-jcl/5.2.5.RELEASE/spring-jcl-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-jcl/5.2.5.RELEASE/spring-jcl-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_test_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-test:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-test/5.2.5.RELEASE/spring-test-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-test/5.2.5.RELEASE/spring-test-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-test/5.2.5.RELEASE/spring-test-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_web_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-web:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-web/5.2.5.RELEASE/spring-web-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-web/5.2.5.RELEASE/spring-web-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-web/5.2.5.RELEASE/spring-web-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_5_RELEASE.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-webmvc:5.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-webmvc/5.2.5.RELEASE/spring-webmvc-5.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-webmvc/5.2.5.RELEASE/spring-webmvc-5.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/springframework/spring-webmvc/5.2.5.RELEASE/spring-webmvc-5.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_4.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.xmlunit:xmlunit-core:2.6.4">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/xmlunit/xmlunit-core/2.6.4/xmlunit-core-2.6.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/xmlunit/xmlunit-core/2.6.4/xmlunit-core-2.6.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/xmlunit/xmlunit-core/2.6.4/xmlunit-core-2.6.4-sources.jar!/" />
</SOURCES>
</library>
</component>

13
logtrace/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.yaml:snakeyaml:1.25">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../repository/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../repository/org/yaml/snakeyaml/1.25/snakeyaml-1.25-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../repository/org/yaml/snakeyaml/1.25/snakeyaml-1.25-sources.jar!/" />
</SOURCES>
</library>
</component>

9
logtrace/.idea/logtrace.iml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

12
logtrace/.idea/misc.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/MultithreadedExportExcelData-master/pom.xml" />
<option value="$PROJECT_DIR$/SpringBootYiBuThreadTransport/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

9
logtrace/.idea/modules.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/logtrace/ExportExcelData.iml" filepath="$PROJECT_DIR$/logtrace/ExportExcelData.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/logtrace.iml" filepath="$PROJECT_DIR$/.idea/logtrace.iml" />
</modules>
</component>
</project>

100
logtrace/logtrace/ExportExcelData.iml

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$/../logtrace">
<sourceFolder url="file://$MODULE_DIR$/../logtrace/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../logtrace/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../logtrace/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/../logtrace/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-annotation:4.1.0" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.24" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:transmittable-thread-local:2.14.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.vintage:junit-vintage-engine:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:2.1" level="project" />
</component>
</module>

46
logtrace/logtrace/README.md

@ -0,0 +1,46 @@
# 多线程实现百万级数据导出到excel
## **考虑前提:**
大数据量导出到文件,首先需要考虑的是内存溢出的场景:数据库读取数据到内存中、将数据写入到excel进行大量的IO操作。然后考虑到一个文件数据过大,用户打开慢,体验不好。针对这些问题的考虑,采用多线程的方式多个线程同时处理查询数据,一个线程生成一个excel,最后在合并数据返回,以达到提高效率的目的。
## **实现思路:**
1.使用easyExecl结合批量线程池执行,结合线程分批处理数据缩短查询数据库时间和导出数据时间,查询数据速度比较理想
测试接口:http://localhost:8080/exportEasyExcel?pageNum=0&pageSize=100000&limit=4000
2.使用easyExecl结合循环线程池执行,结合线程分批处理数据缩短查询数据库时间和导出数据时间,查询数据速度不理想
测试接口:http://localhost:8080/exportEasyExcelV1?pageNum=0&pageSize=60000&limit=2000
3.使用SXSSFWorkbook结合批量线程池执行,结合线程分批处理数据缩短查询数据库时间和导出数据时间,效果最优最理想
http://localhost:8080/exportEasyExcelV4?pageNum=0&pageSize=30000&limit=2000
模拟sql可以结合测试类本地造数据:
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`phone` varchar(255) DEFAULT NULL,
`ceate_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`remark` varchar(255) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
`test1` varchar(255) DEFAULT NULL,
`test2` varchar(255) DEFAULT NULL,
`test3` varchar(255) DEFAULT NULL,
`test4` varchar(255) DEFAULT NULL,
`test5` varchar(255) DEFAULT NULL,
`test6` varchar(255) DEFAULT NULL,
`test7` varchar(255) DEFAULT NULL,
`test8` varchar(255) DEFAULT NULL,
`test9` varchar(255) DEFAULT NULL,
`test10` varchar(255) DEFAULT NULL,
`test11` varchar(255) DEFAULT NULL,
`test12` varchar(255) DEFAULT NULL,
`test13` varchar(255) DEFAULT NULL,
`test14` varchar(255) DEFAULT NULL,
`test15` varchar(255) DEFAULT NULL,
`test16` varchar(255) DEFAULT NULL,
`test17` varchar(255) DEFAULT NULL,
`test18` varchar(255) DEFAULT NULL,
`test19` varchar(255) DEFAULT NULL,
`test20` varchar(255) DEFAULT NULL,
`test21` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=600001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

72
logtrace/logtrace/pom.xml

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.wm.file</groupId>
<artifactId>ExportExcelData</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--Spring Boot 实现日志链路追踪,无需引入组件,让日志定位更方便!-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>2.14.2</version>
</dependency>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

22
logtrace/logtrace/src/main/java/com/wm/file/ExportExcelDataApplication.java

@ -0,0 +1,22 @@
package com.wm.file;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* @ClassName: ExportExcelDataApplication
* @Description: 启动类
* @Author: woniu
* @Date: 2022/5/3 19:01
**/
@EnableAsync
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class ExportExcelDataApplication {
public static void main(String[] args) {
SpringApplication.run(ExportExcelDataApplication.class, args);
}
}

36
logtrace/logtrace/src/main/java/com/wm/file/config/MyThreadPoolTaskExecutor.java

@ -0,0 +1,36 @@
package com.wm.file.config;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import org.slf4j.MDC;
/**
* @Author: 蜗牛
* @Date: 2023-2-19 11:13
* @Description:
* Spring Boot 实现日志链路追踪无需引入组件让日志定位更方便
*/
public final class MyThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
public MyThreadPoolTaskExecutor() {
super();
}
@Override
public void execute(Runnable task) {
super.execute(ThreadMdcUtil.wrap(task, MDC.getCopyOfContextMap()));
}
@Override
public <T> Future<T> submit(Callable<T> task) {
return super.submit(ThreadMdcUtil.wrap(task, MDC.getCopyOfContextMap()));
}
@Override
public Future<?> submit(Runnable task) {
return super.submit(ThreadMdcUtil.wrap(task, MDC.getCopyOfContextMap()));
}
}

76
logtrace/logtrace/src/main/java/com/wm/file/config/ThreadMdcUtil.java

@ -0,0 +1,76 @@
package com.wm.file.config;
import org.slf4j.MDC;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.Callable;
/**
* @Author: woniu
* @Date: 2023-2-19 11:14
* @Description:
* Spring Boot 实现日志链路追踪无需引入组件让日志定位更方便
*/
public final class ThreadMdcUtil {
private static final String TRACE_ID = "TRACE_ID";
// 获取唯一性标识
public static String generateTraceId() {
return UUID.randomUUID().toString();
}
public static void setTraceIdIfAbsent() {
if (MDC.get(TRACE_ID) == null) {
MDC.put(TRACE_ID, generateTraceId());
}
}
/**
* 用于父线程向线程池中提交任务时将自身MDC中的数据复制给子线程
*
* @param callable
* @param context
* @param <T>
* @return
*/
public static <T> Callable<T> wrap(final Callable<T> callable, final Map<String, String> context) {
return () -> {
if (context == null) {
MDC.clear();
} else {
MDC.setContextMap(context);
}
setTraceIdIfAbsent();
try {
return callable.call();
} finally {
MDC.clear();
}
};
}
/**
* 用于父线程向线程池中提交任务时将自身MDC中的数据复制给子线程
*
* @param runnable
* @param context
* @return
*/
public static Runnable wrap(final Runnable runnable, final Map<String, String> context) {
return () -> {
if (context == null) {
MDC.clear();
} else {
MDC.setContextMap(context);
}
setTraceIdIfAbsent();
try {
runnable.run();
} finally {
MDC.clear();
}
};
}
}

42
logtrace/logtrace/src/main/java/com/wm/file/config/ThreadPoolConfig.java

@ -0,0 +1,42 @@
package com.wm.file.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import java.util.concurrent.Executor;
/**
* @Author: woniu
* @Date: 2023-2-19 11:14
* @Description:
*
* Spring Boot 实现日志链路追踪无需引入组件让日志定位更方便
*
*/
@Configuration
@EnableAsync
public class ThreadPoolConfig {
/**
* 声明一个线程池
*
* @return 执行器
*/
@Bean("MyExecutor")
public Executor asyncExecutor() {
MyThreadPoolTaskExecutor executor = new MyThreadPoolTaskExecutor();
//核心线程数5:线程池创建时候初始化的线程数
executor.setCorePoolSize(5);
//最大线程数5:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
executor.setMaxPoolSize(5);
//缓冲队列500:用来缓冲执行任务的队列
executor.setQueueCapacity(500);
//允许线程的空闲时间60秒:当超过了核心线程出之外的线程在空闲时间到达之后会被销毁
executor.setKeepAliveSeconds(60);
//线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
executor.setThreadNamePrefix("asyncJCccc");
executor.initialize();
return executor;
}
}

28
logtrace/logtrace/src/main/java/com/wm/file/config/WebConfigurerAdapter.java

@ -0,0 +1,28 @@
package com.wm.file.config;
import com.wm.file.intecepter.LogInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @Author: 蜗牛
* @Date: 2023-2-19 10:47
* @Description:
*/
@Configuration
public class WebConfigurerAdapter implements WebMvcConfigurer {
@Bean
public LogInterceptor logInterceptor() {
return new LogInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(logInterceptor()).addPathPatterns("/**");
//可以具体制定哪些需要拦截,哪些不拦截,其实也可以使用自定义注解更灵活完成
// .excludePathPatterns("/testxx.html");
}
}

39
logtrace/logtrace/src/main/java/com/wm/file/controller/ApiController.java

@ -0,0 +1,39 @@
package com.wm.file.controller;
import com.wm.file.service.OrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("api/")
@Slf4j
public class ApiController {
@Autowired
private OrderService orderService;
@ResponseBody
@GetMapping(value = "/pay/{orderSn}")
public String alipay(@PathVariable("orderSn") String orderSn) {
log.info("我开始了!");
String result = orderService.alipay(orderSn);
log.info("我结束了!{}",result);
return result;
}
@ResponseBody
@GetMapping(value = "/insert")
public String insert() throws InterruptedException {
log.info("我开始了!");
orderService.insert();
log.info("结束了!");
return "ok";
}
}

40
logtrace/logtrace/src/main/java/com/wm/file/intecepter/LogInterceptor.java

@ -0,0 +1,40 @@
package com.wm.file.intecepter;
import org.slf4j.MDC;
import org.springframework.lang.Nullable;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.UUID;
/**
* @Author: woniu
* @Date: 2023-2-19 10:45
* @Description:
*/
public class LogInterceptor implements HandlerInterceptor {
private static final String TRACE_ID = "TRACE_ID";
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String tid = UUID.randomUUID().toString().replace("-", "");
//可以考虑让客户端传入链路ID,但需保证一定的复杂度唯一性;如果没使用默认UUID自动生成
if (!StringUtils.isEmpty(request.getHeader("TRACE_ID"))) {
tid = request.getHeader("TRACE_ID");
}
MDC.put(TRACE_ID, tid);
return true;
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable Exception ex) {
MDC.remove(TRACE_ID);
}
}

7
logtrace/logtrace/src/main/java/com/wm/file/service/OrderService.java

@ -0,0 +1,7 @@
package com.wm.file.service;
public interface OrderService {
String alipay(String orderSn);
public void insert() ;
}

38
logtrace/logtrace/src/main/java/com/wm/file/service/OrderServiceImpl.java

@ -0,0 +1,38 @@
package com.wm.file.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class OrderServiceImpl implements OrderService {
@Override
public String alipay(String orderSn) {
try {
log.info("开始查询");
Thread.sleep(1000);
int i = 10 / 0;
} catch (Exception e) {
log.error("有个错误:{}", e.getMessage());
}
log.info("查询结束");
return "haha";
}
// @Async("MyExecutor")
@Async
@Override
public void insert() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
log.error("插入操作失败");
}
log.info("正在执行插入操作");
}
}

4
logtrace/logtrace/src/main/resources/application.yml

@ -0,0 +1,4 @@
server:
port: 8826
logging:
config: classpath:logback-spring.xml

34
logtrace/logtrace/src/main/resources/logback-spring.xml

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--日志存储路径-->
<property name="log" value="D:/test/log" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--输出格式化-->
<pattern>[%X{TRACE_ID}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- 按天生成日志文件 -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件名-->
<FileNamePattern>${log}/%d{yyyy-MM-dd}.log</FileNamePattern>
<!--保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%X{TRACE_ID}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</configuration>

73
logtrace/logtrace/src/test/java/com/wm/file/TestDemo.java

@ -0,0 +1,73 @@
package com.wm.file;
import lombok.extern.slf4j.Slf4j;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = ExportExcelDataApplication.class)//springboot注解
@Slf4j
public class TestDemo {
// /**
// * 如何优雅的实现Spring Boot 异步线程间数据传递
// */
// @Test
// public void handlerAsync() {
// //1. 获取父线程的userId
// UserUtils.setUserId("232");
// String userId = UserUtils.getUserId();
// log.info("父线程的值:{}", userId);
// CompletableFuture.runAsync(() -> {
// //2. 设置子线程的值,复用
// UserUtils.setUserId(userId);
// log.info("子线程的值:{}", UserUtils.getUserId());
// });
// }
//
//
// @Autowired
// private ThreadPoolTaskExecutor threadPoolTaskExecutor;
//
// /**
// * 线程池设置TaskDecorator
// */
// @Test
// public void handlerAsync2() {
// UserUtils.setUserId("232");
// log.info("父线程的用户信息:{}", UserUtils.getUserId());
// //执行异步任务,需要指定的线程池
// CompletableFuture.runAsync(() ->
// log.info("子线程的用户信息:{}", UserUtils.getUserId()),
// threadPoolTaskExecutor);
// }
//
// /**
// * TransmittableThreadLocal
// */
//
// @Autowired
// private ThreadPoolExecutor threadPoolExecutor;
//
// @Test
// public void handlerAsync3() {
// UserUtilsTran.set("213");
// log.info("父线程的用户信息:{}", UserUtilsTran.get());
//
// CompletableFuture.runAsync(()->
// log.info("子线程的用户信息:{}", UserUtilsTran.get()),
// threadPoolExecutor);
// }
//
}
Loading…
Cancel
Save