google-nomulus/java/google/registry/flows
nickfelt f2c6021db0 Split FlowReporter logging into two lines for robustness
This prevents a possible failure mode of the logging where the logged
EPP input XML is very large (which can happen e.g. for domain creates
with large SMD values).  In those cases, the XML might cause the overall
JSON string to be too large to fit within a single log entry [1], in which
case it gets split over multiple lines and breaks automatic parsing.

This mitigates that case by logging the EPP input (raw and base64-encoded)
in a separate log statement so that the more compact metadata (like clientId)
and derived values (like ICANN reporting field) will still be in an intact
JSON string even in that case, and can still be readily parsed.  It's okay
if the actual EPP XML is harder to parse, since once we're logging the right
metadata fields we shouldn't need to automatically parse the EPP XML in any
normal cases.

[1] I haven't found this exact limit or splitting algorithm, or whether it's
a property of java logging or GAE log ingestion.  The GAE logs page does note
that a single application log entry (within a request, which can have up to
1000 such entries) maxes out at 8KB, so that might be it:
https://cloud.google.com/appengine/docs/standard/java/logs/#writing_application_logs

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=153771335
2017-04-26 10:50:13 -04:00
..
annotations Make FlowRunner log ICANN activity report field name 2017-03-27 13:32:57 -04:00
async Notify registrars of async contact/host deletions 2017-04-26 10:33:55 -04:00
contact Notify registrars of async contact/host deletions 2017-04-26 10:33:55 -04:00
custom Restrict domain transfer pricing to 1 year 2017-03-21 15:33:29 -04:00
domain Re-apply server prohibited status codes in domain update for locked-down TLDs 2017-04-10 13:49:21 -04:00
exceptions Use StatusValue XML names in EPP error messages 2017-03-21 15:14:02 -04:00
host Notify registrars of async contact/host deletions 2017-04-26 10:33:55 -04:00
picker Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
poll Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
session Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
soy Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
BUILD Set correct auth settings for all actions 2017-03-13 11:22:55 -04:00
CheckApiAction.java Set correct auth settings for all actions 2017-03-13 11:22:55 -04:00
EppConsoleAction.java Set correct auth settings for all actions 2017-03-13 11:22:55 -04:00
EppController.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
EppException.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
EppMetrics.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
EppRequestHandler.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
EppRequestSource.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
EppTlsAction.java Set correct auth settings for all actions 2017-03-13 11:22:55 -04:00
EppToolAction.java Set correct auth settings for all actions 2017-03-13 11:22:55 -04:00
EppXmlTransformer.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ExtensionManager.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
Flow.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowComponent.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowModule.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
FlowReporter.java Split FlowReporter logging into two lines for robustness 2017-04-26 10:50:13 -04:00
FlowRunner.java Move FlowRunner ICANN reporting logging to new FlowReporter 2017-04-26 10:48:43 -04:00
FlowScope.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowUtils.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
GaeUserCredentials.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
HttpSessionMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
PasswordOnlyTransportCredentials.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ResourceFlowUtils.java Remove straggler references to extended registration years 2017-03-27 12:59:48 -04:00
ServerTridProvider.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
ServerTridProviderImpl.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
ServerTridProviderModule.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
SessionMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
StatelessRequestSessionMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
TlsCredentials.java Fix a deprecated method now that we are on Guava 20 2017-02-02 16:50:20 -05:00
TransactionalFlow.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
TransportCredentials.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00