У меня есть служба, написанная на Kotlin, которая сохраняет объект, содержащий GeoJSON, в MongoDB. Я пытаюсь улучшить ведение журнала ошибки, чтобы не выгружать сообщение WriteConcernException в наше ведение журнала, которое содержит весь GeoJSON и все его координаты. В конце сообщения после возврата свойств объекта, точное сообщение там. Как вытащить сообщение об ошибке из ошибки внутри сообщения?
Когда я выполняю сохранение в БД со следующим плохим GeoJSON
"geometry": {
"coordinates": [
[
[
[
-105.06156921386719,
39.862844284288805
],
[
-105.15838623046875,
39.73781833792706
],
[
-105.1226806640625,
39.65011210186371
],
[
-104.91668701171875,
39.68182601089365
],
[
-104.88029479980467,
39.816975090490004
],
[
-105.15838623046875,
39.73781833792706
],
[
-105.1226806640625,
39.65011210186371
],
[
-105.06156921386719,
39.862844284288805
]
]
]
],
Сообщение об ошибке из исключения содержит объект ошибки с этой информацией:
com.mongodb.WriteConcernException: Write failed with error code 16755 and error message 'Can't extract geo keys:
{(Object)...
Loop is not valid: [ [ -105.0615692138672, 39.8628442842888 ], [ -105.1583862304688, 39.73781833792706 ], [ -105.1226806640625, 39.65011210186371 ], [ -104.9166870117188, 39.68182601089365 ], [ -104.8802947998047, 39.81697509049 ], [ -105.1583862304688, 39.73781833792706 ], [ -105.1226806640625, 39.65011210186371 ], [ -105.0615692138672, 39.8628442842888 ] ]
Duplicate vertices: 1 and 5'