No description
Find a file
Patrik Nordwall 68424b4f55 Complete logging with SLF4J in Typed, #26537
* TestAppender interaction with LoggingEventFilter
  * TestAppender plays the same role as classic TestEventList
* replace Sl4jLoggingEvent.java
  * include MDC in testkit.LoggingEvent to allow for custom filter
    testing MDC
* fix tests
* fix log events in BehaviorSetKit, using SubstituteLogger
* MDC in EventSourcedBehavior
  * using raw MDC to set the persistenceId and persistencePhase fields
  * avoid access to MDC ThreadLocal if log isn't used

* Automatically enable eventStream Slf4jLogger for Typed (PR #27583)
  * amend the ActorSystem config on startup when config akka.use-slf4j=on
    and akka-slf4j in classpath
  * akka.use-slf4j is defined in akka-actor-typed reference.conf
  * also enable the Slf4jLoggingFilter automatically
  * remove config in tests

* Include actor path as akkaSource in MDC (PR #27587)
  * move logger init to ActorContextImpl since not specific to untyped (ActorContextAdapter)
  * careful to not access MDC ThreadLocal if logging isn't used (per message)
  * MDC is cleared (if used) from aroundReceive in ActorAdapter after processing each message
  * also changed MDC for EventSourcedBehavior to rely on context.log and the outer MDC.clear()
  * just removing the MDC values is not enough because the empty Map remains in the ThreadLocal

* Optimization of MDC interceptor (PR #27610)

* Extension methods to Logger as workaround for overload and varargs problem (PR #27605)
  * "ambiguous reference to overloaded definition" for 2 arg method
  * varargs not supported for primitive types
  * providing extension methods info2 and infoN (and friends) via implicit class LoggerOps
    as more convenient workaround for these problems

* New API for Typed LoggingEventFilter (PR #27611)
  * builder style
  * will make it easier to add more conditions
  * all conditions are AND:ed together which makes it easier to define custom filters
  * simplifies the implementation as a bonus
  * javadsl
  * use new api in all tests
  * leeway setting
  * verify that occurrences = 0 works
  * use javadsl in two tests
  * change interceptLogger, and some other feedback

* Testing utility to silence logging until failure (PR #27588)
  * Logback appender that captures all log events and can flush them
    later to other appenders
  * LogCapturing mixin for ScalaTest that flush the captured logging events
    when a test fails. Also clears the captured events after all tests.
  * Configuration in logback-test.xml
  * log capturing for JUnit tests too, using TestRule
  * Silence initial setup logging from Logback
  * make LogCapturing public
  * use LogCapturing in all tests
    * aside from multi-jvm, and a few extending AkkaSpec, so far
  * a few doc tests needed debug level

* mention in migration guide
* rename setLoggerClass to setLoggerName
* check for logback dependency to give nicer error message
* fix filterKeys, deprecated in 2.13
2019-09-06 10:09:54 +02:00
.github Initial release drafter template 2019-06-24 11:17:39 +02:00
akka-actor/src/main Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-actor-testkit-typed/src Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-actor-tests/src/test Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-actor-typed/src/main Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-actor-typed-tests/src/test Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-bench-jmh Propagate downstream cancellation failures (#27547) 2019-09-05 20:55:48 +02:00
akka-bench-jmh-typed Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-cluster fix deprecation warning for protobuf enum 2019-09-05 19:32:15 +02:00
akka-cluster-metrics/src Use protobuf3 for internal serialization (#27366) 2019-08-15 17:43:19 +02:00
akka-cluster-sharding/src [Only] Deprecate Persistent mode of Cluster Sharding (#27585) 2019-08-30 07:25:29 -07:00
akka-cluster-sharding-typed/src Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-cluster-tools/src Deprecate Cluster Client #27242 2019-09-05 10:24:25 +02:00
akka-cluster-typed/src Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-coordination/src Remove ApiMayChange from coordination module (#27026) 2019-05-29 15:41:16 +02:00
akka-discovery/src Remove catchall silents from prod code (#27432) 2019-07-30 11:12:23 +02:00
akka-distributed-data/src Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-docs/src Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-multi-node-testkit/src/main Remove the Artery flight recorder (#27591) 2019-09-05 13:11:22 +02:00
akka-osgi/src Remove catchall silents from prod code (#27432) 2019-07-30 11:12:23 +02:00
akka-persistence/src Use protobuf3 for internal serialization (#27366) 2019-08-15 17:43:19 +02:00
akka-persistence-query/src Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
akka-persistence-shared/src/test/scala/akka/persistence Disable Java serialization by default, #22333 (#27285) 2019-07-11 14:04:24 +02:00
akka-persistence-tck/src Disable Java serialization by default, #22333 (#27285) 2019-07-11 14:04:24 +02:00
akka-persistence-typed/src Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
akka-protobuf/src/main/java/akka/protobuf Clarify that akka-protobuf-v3 is not for applications, #26181 (#27520) 2019-08-29 09:18:18 +02:00
akka-remote/src Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
akka-remote-tests/src Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
akka-serialization-jackson/src Add configuration for all Jackson Features (#27409) 2019-08-16 11:33:47 +02:00
akka-slf4j/src Scala 2.13.0 rc2 (#26967) 2019-05-24 08:11:50 +02:00
akka-stream/src/main unmoored doc comment in PhasedFusingActorMaterializer (#27641) 2019-09-06 09:39:52 +02:00
akka-stream-testkit/src Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
akka-stream-tests/src/test Propagate downstream cancellation failures (#27547) 2019-09-05 20:55:48 +02:00
akka-stream-tests-tck/src/test Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
akka-stream-typed/src Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
akka-testkit/src Change "Untyped" to "Classic" (#27627) 2019-09-05 12:30:52 +02:00
project Complete logging with SLF4J in Typed, #26537 2019-09-06 10:09:54 +02:00
scripts Fix authors script to run with 2.13 (#27145) 2019-06-19 08:54:07 +01:00
src/main/ls
.gitignore Add 'core' and 'dumps' to gitignore (#27423) 2019-07-30 08:11:05 +01:00
.jvmopts-travis Use Adopt JDK 8 in Travis 2019-01-02 13:56:33 +01:00
.sbt-java-formatter.conf Add sbt-java-formatter for java code formatting. 2019-01-12 01:41:54 +08:00
.sbtopts increase heap size in .sbtopts (#26295) 2019-01-28 14:42:35 +01:00
.scalafix.conf Setup different fix alias on different sub projects and add support to ignore dedicated packages when do scalafix. 2018-12-17 21:10:11 +08:00
.scalafmt.conf Upgraded plugin to 2.0.3, nightly to RC8 (bug fixes) (#27468) 2019-08-09 09:40:52 -07:00
.travis.yml Update to 2.12.9 for travis as well (#27476) 2019-08-12 16:39:06 +02:00
build.sbt First step of changing to SL4J in Typed logging, #26537 2019-09-06 10:09:53 +02:00
CODE_OF_CONDUCT.md Update to Lightbend Community Code of Conduct 2019-08-30 18:08:47 +09:30
CONTRIBUTING.md Use protobuf3 for internal serialization (#27366) 2019-08-15 17:43:19 +02:00
COPYING.protobuf
LICENSE Include the full apache license text (#23992) 2017-11-14 16:47:33 +01:00
README.md Add Travis build status badge and fix Scaladex latest version badge #26782 2019-04-23 08:56:35 +02:00
RELEASING.md Update links to the Lightbend Platform docs (#27477) 2019-08-12 13:07:27 +02:00

Akka Latest versionBuild Status

We believe that writing correct concurrent & distributed, resilient and elastic applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction.

Akka is here to change that.

Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. This model is a perfect match for the principles laid out in the Reactive Manifesto.

For resilience, we adopt the "Let it crash" model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.

Actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.

Learn more at akka.io.

Reference Documentation

The reference documentation is available at doc.akka.io, for Scala and Java.

Community

You can join these groups and chats to discuss and ask Akka related questions:

In addition to that, you may enjoy following:

Contributing

Contributions are very welcome!

If you see an issue that you'd like to see fixed, the best way to make it happen is to help out by submitting a pull request implementing it.

Refer to the CONTRIBUTING.md file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly, or in the akka/dev chat if a more real time communication would be of benefit.

A chat room is available for all questions related to developing and contributing to Akka: gitter: akka/dev

License

Akka is Open Source and available under the Apache 2 License.