Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LogMetrics Framework for Spring Projects

License

NotificationsYou must be signed in to change notification settings

devxchangeio/logmetrics-java

Repository files navigation

Build Status

logmetrics

Logmetrics framework provides simplified configuration to log payload for spring project.

Maven Repo

maven { url "https://dl.bintray.com/m2/release"}

Dependencies

compile ("io.devxchange:logmetrics:0.0.2")

Usage

Enable logmetrics - Add below property to your application.properties file

logmetrics.logging.enabled=truelogmetrics.logging.request.enabled=truelogmetrics.logging.response.enabled=truelogmetrics.logging.obfuscate.enabled=falselogmetrics.logging.obfuscate.md5.fields= #comma seperated fieldslogmetrics.logging.obfuscate.sha256.fields= #comma seperated fieldslogmetrics.logging.obfuscate.fields= #comma seperated fields

Injecting the LogWriterManager & adding Interceptors

@Configuration@EnableWebMvcpublic class AppConfig extends WebMvcConfigurerAdapter{@Autowired@Qualifier("manager.logwriter")private LogWriterManager logWriterManager;@Overridepublic void addInterceptors(InterceptorRegistry registry){registry.addInterceptor(new FrontendRestInterceptor(logWriterManager));}}

logmetrics json schema

{  "$schema": "http://json-schema.org/draft-04/schema#",  "type": "LogMetrics",  "properties": {    "Node": {      "type": "string",      "description": "Application Host IP Address"    },    "message_type": {      "type": "string",      "description": "Logmetrics message type",      "value": "LOGMETRICS_MESSAGE"    },    "Duration": {      "type": "integer",      "description": "Response time of the API"    },    "Host": {      "type": "string",      "description": "Application Host Name"    },    "Fault": {      "type": "boolean",      "description": "API Success or Failed status "    },    "Method": {      "type": "string",      "description": "API Method name"    },    "ResponseBody": {      "type": "string",      "description": "API Response Body"    },    "StartDateTime": {      "type": "string",      "description": "API Start Time"    },    "EndDateTime": {      "type": "string",      "description": "API End time"    },    "HttpMethod": {      "type": "string",      "description": "Http Method Type"    },    "RequestBody": {      "type": "string",      "description": "API Request Body"    }  }}

sample logmetrics message

{  "Node": "127.0.0.1",  "message_type": "LOGMETRICS_MESSAGE",  "Duration": 106,  "Host": "hostname",  "Fault": false,  "Method": "/user-service/api/v1/user/{id}",  "ResponseBody": "{\"id\":1,\"name\":\"02adcec2263d2127269fcd769c33f029\",\"age\":\"35135aaa6cc23891b40cb3f378c53a17a1127210ce60e125ccf03efcfdaec458\",\"salary\":\"********\"}",  "StartDateTime": "Tue Nov 26 23:22:54 EST 2019",  "EndDateTime": "Tue Nov 26 23:22:54 EST 2019",  "HttpMethod": "GET",  "RequestBody": ""}

Demo Project

Release History

  • 0.0.2

    • adding request and response payload obfuscation (masking sensitive information)

  • 0.0.1

    • logging rest verb & payload to console.

    • feature to enable/disable payload logging

Meta

Karthikeyan Sadayamuthu –LinkedIn

Distributed under the Apache License. SeeLICENSE for more information.license

Contributing

  1. Fork it!

  2. Create your feature branch:git checkout -b my-new-feature

  3. Commit your changes:git commit -am 'Add some feature'

  4. Push to the branch:git push origin my-new-feature

  5. Submit a pull request :D


[8]ページ先頭

©2009-2025 Movatter.jp