[ZEPPELIN-3600] Add REST API to change logger level dynamically

### What is this PR for?
Enabling users to change the level of a specific logger to investigate Zeppelin server's status.

### What type of PR is it?
[Feature]

### Todos
* [x] - Add api to change the level of logger
* [x] - Add exception handler

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-3600

### How should this be tested?
1. http --session ~/session.txt --form POST http://localhost:8080/api/login userName=admin password=password1
1. http --session ~/session.txt POST http://localhost:8080/api/admin name=org.apache.zeppelin.rest.AdminRestApi level=DEBUG

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? May be

Author: Jongyoul Lee <jongyoul@gmail.com>

Closes #3060 from jongyoul/ZEPPELIN-3600 and squashes the following commits:

618f76074 [Jongyoul Lee] Add admin permisson to aceess /api/admin/** Change error message clearly to show a specific problem
04308bd75 [Jongyoul Lee] Change `Preconditions` to a self-check logic to throw BadRequestException Add `WebApplicationExceptionMapper` to the server Implement `ExceptionSerializer` for gson Implement `WebApplicationExceptionMapper`
5127d89b4 [Jongyoul Lee] Add api to show all loggers' name and level Add api to show a specific logger's name and level Add api to change a logger's level
10 files changed
tree: 7e8bd0ca93549c579dda0fd3ecaedaa237946a92
  1. .github/
  2. _tools/
  3. alluxio/
  4. angular/
  5. beam/
  6. bigquery/
  7. bin/
  8. cassandra/
  9. conf/
  10. dev/
  11. docs/
  12. elasticsearch/
  13. file/
  14. flink/
  15. geode/
  16. groovy/
  17. hbase/
  18. helium-dev/
  19. ignite/
  20. interpreter-parent/
  21. jdbc/
  22. kylin/
  23. lens/
  24. licenses/
  25. livy/
  26. markdown/
  27. neo4j/
  28. notebook/
  29. pig/
  30. python/
  31. r/
  32. sap/
  33. scalding/
  34. scio/
  35. scripts/
  36. shell/
  37. spark/
  38. testing/
  39. zeppelin-display/
  40. zeppelin-distribution/
  41. zeppelin-examples/
  42. zeppelin-integration/
  43. zeppelin-interpreter/
  44. zeppelin-jupyter/
  45. zeppelin-plugins/
  46. zeppelin-server/
  47. zeppelin-web/
  48. zeppelin-zengine/
  49. .appveyor.yml
  50. .gitignore
  51. .travis.yml
  52. LICENSE
  53. NOTICE
  54. pom.xml
  55. README.md
  56. Roadmap.md
  57. SECURITY-README.md
  58. STYLE.md
  59. travis_check.py
README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: Build Status
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core feature:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site http://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.