Lombok: @ToString (разрыв строки = истина)

Созданный на 30 мар. 2018  ·  3Комментарии  ·  Источник: projectlombok/lombok

Я думаю, что атрибут linebreak для @ToString хорош для чтения, и его должно быть легко реализовать, просто замените ',' на ", \ n".
Это особенно желательно для «сложного» объекта, например,

Например:

Фактически ниже одна строка на самом деле

[Приложение (allocatedMB = -1, allocatedVCores = -1, amContainerLogs = http: // worker : 8042 / node / containerlogs / container_1522385449888_0002_01_000001 / insight, amHostHttpAddress = worker: 8042 , applicationTags =, applicationType = SPARK, clusterId = 1522838) Убить приложение application_1522385449888_0002, полученное от Insight (auth: SIMPLE), elapsedTime = 426971, finalStatus = KILLED, finishedTime = 1522385993313, id = application_1522385449888_0002, memorySeconds = 3342632, name = ODBCRAMPreeCONTINED = 0DBCUMPreeContainted, nDBCumPreeContained = 0 0, preemptedResourceVCores = 0, progress = 100, queue = default, runningContainers = -1, startTime = 1522385566342, state = KILLED, trackingUI = History, trackingUrl = http: // yarn-rm: 8088 / cluster / app / application_1522385449888_0002, user = insight, vcoreSeconds = 1707), Application (allocatedMB = -1, allocatedVCores = -1, amContainerLogs = http: // yarn-nm: 8042 / node / containerlogs / container_1522385449888_0001_02_000001 / insight, amHostHttpAddre ss = yarn-nm: 8042, applicationTags =, applicationType = SPARK, clusterId = 1522385449888, diagnostics = Приложение application_1522385449888_0001 не удалось 2 раза из-за сбоя контейнера AM для appattempt_1522385449888_0001_000002 с кодом выхода: -1000
Для получения более подробных результатов посетите страницу отслеживания приложений: http: // yarn-rm: 8088 / cluster / app / application_1522385449888_0001 Затем щелкните ссылки на журналы каждой попытки.
Диагностика: java.io.FileNotFoundException: Файл не существует: hdfs: // hdfs-name: 9000 / apps / spark / breeze_2.11-0.13.2.jar._COPYING_
Безуспешная попытка. Сбой приложения., ElapsedTime = 5652, finalStatus = FAILED, finishedTime = 1522385508882, id = application_1522385449888_0001, memorySeconds = 6065, name = spark.jobserver.JobManager, numAMContainerPreempted = 0, numNonAMContainerPreempted = 0, numNonAMContainerPreempted = 0, numNonameContainer = 0, presourceResource = 0 = 0, очередь = по умолчанию, runningContainers = -1, startTime = 1522385503230, state = FAILED, trackingUI = History, trackingUrl = http: // yarn-rm: 8088 / cluster / app / application_1522385449888_0001, user = insight, vcoreSeconds = 3) , Приложение (распределеноMB = 1408, распределеноVCores = 1, amContainerLogs = http: // yarn-nm: 8042 / node / containerlogs / container_1522385449888_0003_01_000001 / insight, amHostHttpAddress = yarn-nm: 8042, applicationTags =, applicationTyped = 158822, applicationTyped = 158822, applicationTyped = 158822, диагностика =, elapsedTime = 37716969, finalStatus = UNDEFINED, finishedTime = 0, id = application_1522385449888_0003, memorySeconds = 54583660, name = spark.jobserver.JobManager, numAMContainerPreempted = 0, numNonAMContainerPreempted = 0, numNonAMContainerPreeMBted = 0 preeMB preemptedResourceVCores = 0, progress = 10, queue = default, runningContainers = 1, startTime = 1522385938247, state = RUNNING, trackingUI = ApplicationMaster, trackingUrl = http: // yarn-rm: 8088 / proxy / application_1522385449888_0003 /, user = insight, vcore = 38930)]

Ожидал

[Приложение (выделено МБ = -1,
распределенныеVCores = -1,
amContainerLogs = http: // worker : 8042 / node / containerlogs / container_1522385449888_0002_01_000001 / insight,
amHostHttpAddress = рабочий: 8042 ,
applicationTags =,
applicationType = SPARK,
clusterId = 1522385449888,
диагностика = Убить приложение application_1522385449888_0002, полученное от Insight (аутентификация: SIMPLE),
elapsedTime = 426971,
finalStatus = УБИТЬ,
finishTime = 1522385993313,
id = application_1522385449888_0002,
memorySeconds = 3342632,
name = Экономичный сервер JDBC / ODBC,
numAMContainerPreempted = 0,
numNonAMContainerPreempted = 0,
preemptedResourceMB = 0,
preemptedResourceVCores = 0,
прогресс = 100,
очередь = по умолчанию,
runningContainers = -1,
startTime = 1522385566342,
состояние = УБИТ,
trackingUI = История,
trackingUrl = http: // yarn-rm: 8088 / cluster / app / application_1522385449888_0002,
user = insight,
vcoreSeconds = 1707),
Приложение (выделено МБ = -1,
распределенныеVCores = -1,
amContainerLogs = http: // yarn-nm: 8042 / node / containerlogs / container_1522385449888_0001_02_000001 / insight,
amHostHttpAddress = пряжа-нм: 8042,
applicationTags =,
applicationType = SPARK,
clusterId = 1522385449888,
диагностика = Приложение application_1522385449888_0001 не удалось 2 раза из-за AM Контейнер для appattempt_1522385449888_0001_000002 завершился с кодом выхода: -1000
Для более подробного вывода,
проверьте страницу отслеживания приложений: http: // yarn-rm: 8088 / cluster / app / application_1522385449888_0001 Затем,
щелкните ссылки на журналы каждой попытки.
Диагностика: java.io.FileNotFoundException: Файл не существует: hdfs: // hdfs-name: 9000 / apps / spark / breeze_2.11-0.13.2.jar._COPYING_
Безуспешная попытка. Неудачная заявка.,
elapsedTime = 5652,
finalStatus = FAILED,
finishTime = 1522385508882,
id = application_1522385449888_0001,
memorySeconds = 6065,
name = spark.jobserver.JobManager,
numAMContainerPreempted = 0,
numNonAMContainerPreempted = 0,
preemptedResourceMB = 0,
preemptedResourceVCores = 0,
прогресс = 0,
очередь = по умолчанию,
runningContainers = -1,
startTime = 1522385503230,
state = FAILED,
trackingUI = История,
trackingUrl = http: // yarn-rm: 8088 / cluster / app / application_1522385449888_0001,
user = insight,
vcoreSeconds = 3),
Приложение (выделено МБ = 1408,
распределенныеVCores = 1,
amContainerLogs = http: // yarn-nm: 8042 / node / containerlogs / container_1522385449888_0003_01_000001 / insight,
amHostHttpAddress = пряжа-нм: 8042,
applicationTags =,
applicationType = SPARK,
clusterId = 1522385449888,
диагностика =,
elapsedTime = 37137315,
finalStatus = НЕОПРЕДЕЛЕННО,
finishTime = 0,
id = application_1522385449888_0003,
memorySeconds = 53767506,
name = spark.jobserver.JobManager,
numAMContainerPreempted = 0,
numNonAMContainerPreempted = 0,
preemptedResourceMB = 0,
preemptedResourceVCores = 0,
прогресс = 10,
очередь = по умолчанию,
runningContainers = 1,
startTime = 1522385938247,
состояние = РАБОТАЕТ,
trackingUI = ApplicationMaster,
trackingUrl = http: // yarn-rm: 8088 / proxy / application_1522385449888_0003 /,
user = insight,
vcoreSeconds = 38351)]

Самый полезный комментарий

Вероятно, существует миллион различных способов, которыми люди могут захотеть отформатировать свои
toString вывод.

Я хотел бы более общее решение. Может быть, настраиваемая разделительная строка или
спецификатор формата ..

Op vr 30 mrt. 2018 17:21 schreef Леон [email protected] :

Я думаю, что разрыв строки атрибута для https://github.com/tostring
удобен для чтения, и его должно быть легко реализовать, просто замените ','
с ", \ n".

Например:

Действительный

ClusterMetrics (activeNodes = 2, allocatedMB = 1408, allocatedVirtualCores = 1,
appsCompleted = 0, appsFailed = 1, appsKilled = 1, appsPending = 0, appsRunning = 1,
appsSubmitted = 3, availableMB = 31360, availableVirtualCores = 63,
containerAllocated = 1, containerPending = 0, containerReserved = 0,
dismissionedNodes = 0, lostNodes = 0, rebootedNodes = 0, reservedMB = 0,
reservedVirtualCores = 0, totalMB = 32768, totalNodes = 2, totalVirtualCores = 64,
unhealthyNodes = 0)

Ожидал

ClusterMetrics (activeNodes = 2,
распределено МБ = 1408,
распределенныйVirtualCores = 1,
appsCompleted = 0,
appsFailed = 1,
appsKilled = 1,
appsPending = 0,
appsRunning = 1,
appsSubmitted = 3,
availableMB = 31360,
availableVirtualCores = 63,
containerAllocated = 1,
containerPending = 0,
containerReserved = 0,
списанные узлы = 0,
lostNodes = 0,
rebootedNodes = 0,
зарезервированоMB = 0,
reservedVirtualCores = 0,
totalMB = 32768,
totalNodes = 2,
totalVirtualCores = 64,
unhealthyNodes = 0)

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/rzwitserloot/lombok/issues/1637 или отключите поток
https://github.com/notifications/unsubscribe-auth/AAKCRS7bxqsBVprfB6J-dwd_WYFMkV4Eks5tjk2OgaJpZM4TBzpD
.

Все 3 Комментарий

Вероятно, существует миллион различных способов, которыми люди могут захотеть отформатировать свои
toString вывод.

Я хотел бы более общее решение. Может быть, настраиваемая разделительная строка или
спецификатор формата ..

Op vr 30 mrt. 2018 17:21 schreef Леон [email protected] :

Я думаю, что разрыв строки атрибута для https://github.com/tostring
удобен для чтения, и его должно быть легко реализовать, просто замените ','
с ", \ n".

Например:

Действительный

ClusterMetrics (activeNodes = 2, allocatedMB = 1408, allocatedVirtualCores = 1,
appsCompleted = 0, appsFailed = 1, appsKilled = 1, appsPending = 0, appsRunning = 1,
appsSubmitted = 3, availableMB = 31360, availableVirtualCores = 63,
containerAllocated = 1, containerPending = 0, containerReserved = 0,
dismissionedNodes = 0, lostNodes = 0, rebootedNodes = 0, reservedMB = 0,
reservedVirtualCores = 0, totalMB = 32768, totalNodes = 2, totalVirtualCores = 64,
unhealthyNodes = 0)

Ожидал

ClusterMetrics (activeNodes = 2,
распределено МБ = 1408,
распределенныйVirtualCores = 1,
appsCompleted = 0,
appsFailed = 1,
appsKilled = 1,
appsPending = 0,
appsRunning = 1,
appsSubmitted = 3,
availableMB = 31360,
availableVirtualCores = 63,
containerAllocated = 1,
containerPending = 0,
containerReserved = 0,
списанные узлы = 0,
lostNodes = 0,
rebootedNodes = 0,
зарезервированоMB = 0,
reservedVirtualCores = 0,
totalMB = 32768,
totalNodes = 2,
totalVirtualCores = 64,
unhealthyNodes = 0)

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/rzwitserloot/lombok/issues/1637 или отключите поток
https://github.com/notifications/unsubscribe-auth/AAKCRS7bxqsBVprfB6J-dwd_WYFMkV4Eks5tjk2OgaJpZM4TBzpD
.

Да, мы не хотим вносить частичные улучшения в toString вроде этого; будет принято только действительно гибкое решение.

Да, мы не хотим вносить частичные улучшения в toString вроде этого; будет принято только действительно гибкое решение.

Привет, @rzwitserloot .
Итак, решение

@ToString(separation="any string")

Может быть приемлемо?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги